IE和FF在对js支持的不同整理及解决方法介绍( 二 )


解决办法:可以用getElementById() 或者 getElementByTagName()来代替
15. input.type属性问题
IE:input.type属性为只读
FF:input.type属性为读写
16. window.location.href
IE:(FF2.0以下) , 可以使用window.location 或 window.location.href ; FF 1.5下只能使用window.location
解决办法:使用window.location 来代替 window.location.href
17. 模态和非模态窗口问题
IE:可以通过 showModalDialog 和 showModelessDialog 打开模态和非模态窗口
FF:不支持
解决办法:直接使用window.open(pageURL, name, parameters) 方式打开新窗口 , 如果需要将子窗口中的参数传递回父窗口 , 可以在子窗口中使用window.opener来访问父窗口 。
如:var parWin = window.opener; parWin.document.getElementById('title').value = 'https://www.rkxy.com.cn/dnjc/My Title';
18. body
IE:body必须在body标签被浏览器完全读入后才存在
FF:body在body标签没有被浏览器完全读入之前就存在
19. 事件委托方法
IE:document.body.onload = init;
FF:document.body.onload = init();
解决办法:统一使用 document.body.onload = new Function('init()'); 或者 docuement.body.onload = function(){/* 这里是代码 */}
20. 父元素的区别
IE:obj.parentElement;
FF :obj.parentNode
解决办法:因为FF与IE都支持DOM , 所以可以都使用obj.parentNode
22.innerText在IE中能正常工作 , 但是innerText在FF中却不行. 需用textContent
23. FF中设置HTML标签的style时 , 所有位置性和字体尺寸的值必须后跟px 。这个IE也是支持的
24. 父节点、子节点和删除节点
IE:parentElement、parement.children , element.romoveNode(true) 。
FF:parentNode、parentNode.childNodes , node.parentNode.removeChild(node) 。

IE和FF在对js支持的不同整理及解决方法介绍




推荐阅读