1.firefox不能
支持InnerText。
Firefox支持innerHTML但不支持InnerText,支持
文本内容实施innerText,但
默认情况下,额外的
空间保持默认。如果你不使用的内容,你可以使用innerHTML相反如果你不包含HTML代码里面的字符串。
2。
禁止选择Web内容:
在伊江,JS对象。onselectstart =
函数(){ return false通常使用;}
和Firefox使用CSS:-moz
用户选择:无
三.过滤器支持(例如:透明过滤器):
ie:过滤器:alpha(不透明= 10);
火狐:-moz不透明度:10;
4。捕获的事件:
即:obj.setcapture()()(),obj.releasecapture
火狐:document.addeventlistener(MouseMove
Document.removeEventListener(MouseMove
5。获取
鼠标位置:
即:event.clientx,event.clienty
Firefox:需要通过事件函数传递事件对象
obj。移动鼠标=
功能(EV){
x = y = ev.pagey ev.pagex;
}
对6.div和其他元素的边界问题:
例如,
设置一个div css::{宽度:100px;身高:100px;边界:# 000000 1px solid;}
在IE中:DIV的宽度(包括边框的宽度):100px,DIV的高度(包括边框的宽度):100px;
和Firefox的宽度:div(包括边框的宽度):对102px高度,div(包括边框的宽度):102px;
所以,当你做IE和Firefox的拖动窗口时,你必须开动脑筋,JS和CSS,并给你两个
提示。
一个。判断
浏览器
类型:
无功议= document.all真的假的;
我写了一个变量,如果你支持document.all语法然后议= true,否则议= false
两。不同浏览器下的CSS
处理:
一般来说,您可以使用优先级来优先使用CSS语句(只有Firefox支持)。
例如:{边框宽度:0px!重要的;边框宽度:1px;}
在Firefox中,元素是无边界的,在IE的边框宽度1px
1.document.formname.item(项目名称)的问题
问题描述:在IE的领导下,你可以使用document.formname.item(项目名称)或document.formname.elements { { ElementName } };Firefox只能使用
文档。formname。元素{ElementName}。
解决方案:
文件统一使用。formname。元素{ElementName}。
2。设置类对象问题
问题描述:IE,您可以使用(或){ }获得对象集合;Firefox只能使用{ }获取对象集合。
解决方案:统一使用{ }获取对象集合。
三.自定义
属性问题
问题描述:在IE的领导下,你可以通过有规律的属性的方式得到的自定义属性,或者你可以使用自定义属性的getAttribute()。在Firefox中,你只能使用getAttribute()获取自定义属性。
解决方案:统一访问自定义属性通过getAttribute()。
4.eval(idname )的问题
问题描述:在IE的领导下,你可以使用eval(idname )或getElementById(idname )获得的ID是idname HTML对象,和Firefox只能使用getElementById(idname )到Firefox的对象。
解决方案:getElementById(idname )是用来获取HTML对象ID idname。
同一个5的问题。变量名称作为HTML对象标识
问题描述:在IE下,HTML对象的ID可以直接用作文档的从属对象变量名,但不能在Firefox下使用。Firefox可以使用与HTML对象ID相同的变量名,但不能在IE.下使用。
解决方案:使用document.getelementbyid(idname )而不是document.idname.it最好不要以HTML对象ID相同的变量名,以减少误差;当变量被声明,var关键字添加到避免歧义。
6.const问题
问题描述:在Firefox下,您可以使用const关键字或var关键字来定义常量;在IE下,只能使用var关键字来定义常量。
解决方案:统一使用var关键字来定义常量。
7.input.type属性问题
问题描述:在IE的input.type属性是只读的;但input.type属性读写下的火狐。
解决方法:不要
修改input.type财产。如果你要修改它,你可以隐藏原始
输入,然后插入一个新的输入元件在同一位置。
8.window.event问题
问题描述:window.event只能
运行在IE而不是运行在火狐浏览器,因为火狐的事件只能用在活动现场。
解决方法是添加事件
参数对事件的功能,并利用VaR事件= evtevt:(窗口。eventwindow。事件:空)在函数体(假定参数是EVT)。
实例:
复制代码代码如下所示:
函数doSomething(EVT){
风险事件= evtevt:(窗口。eventwindow。事件:空)
…
}
9、事件x和事件y问题
问题描述:IE下,即使对象的x和y的属性,但没有pagex和pagey属性。甚至在Firefox和pagey pagex对象有属性,但没有X或X属性。
解决方案:VAR MYX =事件。X事件。X:event.pagex;var MYY =事件。Y Y:event.pagey事件;
如果考虑第八个问题,而不是使用事件事件。
10.event.srcelement问题
问题描述:IE下,即使对象srcelement属性,但没有
目标属性;即使对象目标属性下的Firefox,但没有srcelement属性。
解决方案:使用srcobj = event.srcelement event.srcelement:event.target;
如果考虑第八个问题,而不是使用事件事件。
11.window.location.href问题
问题描述:IE或在Firefox2.0。X,你可以用window.location或window.location.href;下firefox1.5。X,你只能用window.location。
解决方案:用window.location.href.of课程window.location,你也可以考虑使用location.replace()方法。
12。模态和非模态窗口的问题
问题描述:IE下,模态和非模态窗口可以通过showModalDialog和showmodelessdialog Firefox不能打开。
解决方法:打开一个新窗口直接使用window.open(pageurl、名称、参数)。
如果你需要传递的参数在子窗口的父窗口后,您可以使用在子窗口中window.opener访问父窗口的父窗口。如果你需要
控制子窗口,子窗口使用var = window.open(pageurl、名称、参数)去新开的窗口对象。
13.frame和iframe的问题
以下面的框架为例:
(1)访问框架对象
即:用window.frameid或window.framename访问此框架对象;
火狐:使用window.framename访问框架对象;
解决方案:对window.document.getelementbyid统一使用(frameid )访问框架对象;
(2)交换帧内容
在伊江和Firefox,你可以使用window.document.getelementbyid(frameid ),。src= xxx.html或window.framename.location = xxx.html切换帧的内容。
如果需要将框架中的参数返回到父窗口,则可以使用框架中的父关键字访问父窗口。
14.body装载问题
问题描述:Firefox的主体对象存在于浏览器完全读取主体标签之前,IE的主体对象必须在浏览器完全读取标签之后才存在。
{此问题尚未核实,经核实后予以修订。
{注}经过验证,有在IE6中没有这样的问题,opera9和Firefox2。简单js
脚本可以访问在脚本之前加载的所有对象和元素,即使这个元素还没有加载。
15。事件委托方法
问题描述:在IE中,我们使用document.body.onload =注射,在注射()函数实现了在Firefox中,我们使用前;document.body.onload =注入()。
解决方案:文件使用。身体。onload =
新功能('inject(统一));或(document.body.onload =功能){ / *这是代码*