- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小编日常整理些关于
js
兼容性问题,及
IE
与
Firefox
等常用浏览器的兼容性分析,对
js 浏览器兼容性相关知识感兴趣的朋友一起学习吧!
1. children 与 childNodes
IE 提供的 children 、childNodes 和 firefox 下的 childNodes 的行为是有区别的,
childNodes 会把换行和空白字符都算作父节点的子节点,而 IE 的 childNodes 和
firefox children
下
不
会。比如:
lt;div id=ddgt;
lt;divgt;yizhu2000lt;/divgt;
lt;/divgt;
d 为 dd 的 div 在 IE 下用 childNodes 查看,其子节点数为 1,而 ff 下为三,我们可以从 firefox 的 dom 查看器里面看到他的 childNodes 为 [\n , div, \n] 。
要在 firefox 下模拟 children 的属性我们可以这样做:
if (typeof(HTMLElement) != undefined amp;amp; !window.opera) { HTMLEtotype.__defineGetter__(children, function() {
for (var a = [], j = 0, n, i = 0; i lt; this.childNodes.length; i++) { n = this.childNodes[i];
if (n.nodeType == 1) {
a[j++] = n;
if () {
if (!a[])
a[] = [];
a[][a[].length] = n;
}
if (n.id)
a[n.id] = n;
}
}
return a;
});
}
2. firefox 和 ie 的事件
window.event 只能在
在事件发生的现场使用。
IE 下使用, 而不能用在
Firefox 必须从源处加入
Firefox
event
下,这是因为
作参数传递。
Firefox 的 event 只能
IE 忽略该参数,用
window.event
来读取该
event。
比方说下面这个在 ie 下获得鼠标位置的方法:
lt;button onclick=onClick() gt; 获得鼠标点击横坐标
lt;/buttongt;
lt;script type=text/javascriptgt;
function onclick(){
alert(event.clientX);
}
lt;/scriptgt;
需要改成
lt;button onclick=onClick(event)gt; 获得 OuterHTMLlt;/buttongt;
lt;script type=text/javascriptgt;
function onclick(event){
event = event || window.event;
alert(event.clientX);
}
lt;/scriptgt;
才能在两种浏览器下使用
3.HTML 对象获取问题
FireFox 获取方式 document.getElementById(idName)
ie 使用 document.idname 或者 document.getElementById(idName)
解决办法:统一使用 document.getElementById(idName); 4. const 问题
在 Firefox 下,可以使用 const 关键字或 var 关键字来定义常量; IE 下,只能使用 var 关键字来定义常量;
解决方法:统一使用 var 关键字来定义常量。
5.frame 问题
以下面的 frame 为例:
lt;frame src=xxx.html id=frameId name=frameName /gt; a)访问 frame 对象
IE :使用 window.frameId 或者 window.frameName 来访问这个 frame 对象, frameId 和 frameName 可以同名;
Firefox :只能使用 window.frameName 来访问这个 frame 对象;
另外,在 IE 和 Firefox 中都可以使用 window.document.getElementById(frameId) 来访问这个 frame 对象;
b) 切换 frame 内容
在
IE
和
Firefox
中都可以使用
window.document.getElemen
原创力文档


文档评论(0)