Javascript在IE和Firefox浏览器常见兼容性问题总结
2024-06-24 11:06:33阅读量:32 字体:大 中 小
本文总结分析了Javascript在IE和Firefox浏览器常见兼容性问题。分享给大家供大家参考,具体如下:
表单

IE:可以使用document.formName.item("itemName")或document.formName.elements["elementName"]
Firefox:只能使用document.formName.elements["elementName"]
解决方法:统一使用document.formName.elements["elementName"]
集合类对象
IE:可以使用()或[]获取集合类对象;
Firefox:只能使用[]获取集合类对象.
解决方法:统一使用[]获取集合类对象.
自定义属性
IE:可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性
Firefox:只能使用getAttribute()获取自定义属性.
解决方法:统一通过getAttribute()获取自定义属性.
元素获取
IE:可以使用eval("idName")或getElementById("idName")来取得id为idName的HTML对象;
Firefox:只能使用getElementById("idName")来取得id为idName的HTML对象。
解决方法:统一用getElementById("idName")来取得id为idName的HTML对象。
命名重复
变量名与某HTML对象ID相同的问题
IE:HTML对象的ID可以作为document的下属对象变量名直接使用,Firefox下则不能;
Firefox:可以使用与HTML对象ID相同的变量名,IE下则不能。
解决方法:使用document.getElementById("idName")代替document.idName。最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var,以避免产生歧义。
const
IE:只能使用var关键字来定义变量。
Firefox:可以使用const关键字或var关键字来定义变量。
解决方法:统一使用var关键字来定义变量。
input.type
input.type属性问题
IE:input.type属性为只读。
Firefox:input.type属性为读写。
window.event
window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用。
Firefox:必须从源处加入event作参数传递。IE忽略该参数,用window.event来读取该event。
解决方法:
event.x与event.y
说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性.
解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.
event.srcElement
IE:event对象有srcElement属性,但是没有target属性;
Firefox:even对象有target属性,但是没有srcElement属性。
解决方法:使用obj(obj = event.srcElement ?event.srcElement :event.target;)来代替IE下的event.srcElement或者Firefox下的event.target。请同时注意event 的兼容性问题。
window.location.href
IE或者Firefox2.0.x:可以使用window.location或window.location.href;
Firefox1.5.x:只能使用window.location
解决方法:使用window.location来代替window.location.href.
模态和非模态窗口
IE:可以通过showModalDialog和showModelessDialog打开模态和非模态窗口
Firefox:不能!
解决方法:直接使用window.open(pageURL, name, parameters)方式打开新窗口。
如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口. 例如:var parWin = window.opener;parWin.document.getElementById("Aqing").value = "Aqing";
frame
以下面的frame为例:
1.访问frame对象:
[ ie中返回的为object , ff中会显示具体的类型 比如: object window ]
IE:使用window.frameId或者window.frameName来访问这个frame对象. frameId和frameName可以同名。
Firefox:只能使用window.frameName来访问这个frame对象.
在IE和Firefox中都可以使用window.document.getElementById("frameId")来访问这个frame对象.
2. 切换frame内容:
在IE和Firefox中都可以使用window.document.getElementById("testFrame").src = "xxx.html"或window.frameName.location = "xxx.html"来切换frame的内容.
如果需要将frame中的参数传回父窗口(注意不是opener,而是parent frame),可以在frme中使用parent来访问父窗口。例如:parent.document.form1.filename.value="a";
body
IE:body必须在body标签被浏览器完全读入之后才存在。
Firefox:body在body标签没有被浏览器完全读入之前就存在。
事件委托方法
IE:
Firefox:
父元素
Firefox与IE的父元素(parentElement)的区别
IE:obj.parentElement
Firefox:obj.parentNode
解决方法:因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.
鼠标指针cursor
cursor:hand VS cursor:pointer
Firefox:不支持hand
IE:支持pointer
解决方法:统一使用pointer
内容文本
innerText在IE中能正常工作。但是innerText在FireFox中却不行,需用textContent。
解决方法:
对table的操作
IE,Firefox以及其它浏览器对于 table 标签的操作都各不相同,在IE中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChild方法也不管用。
解决方法:
options集合
对select的options集合操作
枚举元素除了[]外,SelectName.options.item()也是可以的,另外SelectName.options.length, SelectName.options.add/remove都可以在两种浏览器上使用。
*注意在 add后赋值元素,否则会失败。
XMLHTTP
免责声明:
本文《Javascript在IE和Firefox浏览器常见兼容性问题总结》版权归原作者所有,内容不代表本站立场!
如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。
推荐阅读

剪映怎么在中间插视频
想要使用剪映视频中间插入另一个视频,可以把原本视频分割再插入新的视频,通过以下步骤使用剪映在中间插视频: 剪映怎么在中间插视频 1、打开剪映,点击开始创作”进入选择页面。 2、选择一个视...
阅读: 752

qq进群特效怎么关闭
想要关闭qq进群特效,可以在qq群的进群特效相关功能进行关闭,开通超级会员才能享受进群特效,通过以下步骤关闭qq进群特效: qq进群特效怎么关闭 1、打开qq,点击qq群”进入qq群聊天页...
阅读: 699

地摊怎么申请微信商家码
地摊想要申请微信商家收款二维码,可以从微信收款小账本进行相关设置即可申请微信商家收款二维码,通过以下步骤可以申请微信商家收款二维码: 地摊怎么申请微信商家码 1、打开微信,切换到发现页面,点击小程序&...
阅读: 799

微信拉黑和删除
微信加入黑名单后给对方发消息,对方可以看到但不能回复,微信删除后双方都不能发消息,微信拉黑和删除具体步骤如下: 微信拉黑和删除 1、打开微信,切换到通讯录页面,点击联系人”进入联系人名片...
阅读: 728

qq音乐删除访问记录别人能看见吗
qq音乐删除了访问记录别人是不能看到的,可以在访客功能中删除访问记录,通过以下步骤删除qq音乐访问记录: qq音乐删除访问记录别人能看见吗 1、打开qq音乐,切换到个人中心,点击头像”进入...
阅读: 690

新加好友怎么才能分享屏幕
qq聊天中自带有分享屏幕的功能,只要加了好友,直接点击分享屏幕就可以将屏幕分享给对方。具体操作方法如下: 新加好友怎么才能分享屏幕 1.在qq中找到要分享屏幕的好友,点击进入对话界面。 2.点击对话...
阅读: 766
热门文章
1.电子稿怎么弄
- 1

- 电子稿怎么弄
- 2022-12-28
- 1
2.在喜马拉雅上怎么接配音任务
- 2

- 在喜马拉雅上怎么接配音任务
- 2022-12-28
- 2
3.微信删除好友频繁了怎么继续删除
- 3

- 微信删除好友频繁了怎么继续删除
- 2022-12-28
- 3
4.朋友圈动图怎么不动
- 4

- 朋友圈动图怎么不动
- 2022-12-28
- 4
5.拉黑了怎么加回来
- 5

- 拉黑了怎么加回来
- 2022-12-28
- 5
6.超话等级怎么快速升
- 6

- 超话等级怎么快速升
- 2022-12-28
- 6
7.支付宝买彩票在网上怎么买
- 7

- 支付宝买彩票在网上怎么买
- 2022-12-31
- 7
8.QQ等待验证是不是拉黑了
- 8

- QQ等待验证是不是拉黑了
- 2022-12-27
- 8
9.360隐私空间里面的照片怎么找回
- 9

- 360隐私空间里面的照片怎么找回
- 2022-12-27
- 9
10.支付宝提现免费额度在哪查询
- 10

- 支付宝提现免费额度在哪查询
- 2022-12-27
- 10
最近更新

酷狗音乐中使用蝰蛇音效制作工具的具体操作方法
2024-11-11

win7电脑中出现声音图标不见了的具体解决方法
2024-11-11

车到哪app的详细软件介绍
2024-11-11

小米9se中查看序列号的具体操作方法
2024-11-11

迅雷中使用FTP探测器的详细操作方法
2024-11-11

ppt制作出小荷才露尖尖角动画场景的具体操作步骤
2024-11-11
