日期:2014-05-16 浏览次数:20443 次
(一)
问题1:获取一个元素对象的引用,在IE下,可直接使用该元素对象的id名;而在FireFox下,只能使用getElementById(idName)方法。
解决方法:统一用getElementById(idName)。?
问题2:获取表单元素的引用,在IE下,可通过form.item('username')这种形式;而在FireFox下,只能通过form.elements['username']。(注:var form = document.getElementById("form");)
解决方法:统一用form.elements['username']这种形式。
问题3:访问集合对象成员时,在IE下,可通过
Js代码
1. var?elements?=?form.elements;?var?firstElement?=?elements(0);??
?而在Firefox下,只能通过
Java代码
1. var?elements?=?form.elements;?var?firstElement?=?elements[0];??
?解决方法:统一用方括号加下标索引来访问。
问题4:读取自定义属性,在IE下,可像操作对象属性一样直接访问;而在FireFox下,只能通过getAttribute(attrName)方式访问。
解决方法:统一用getAttribute(attrName)方式访问。
问题5:常量的定义,在FireFox下能通过const关键词定义,如const PI = 3.14; 而在IE下却报错。
解决方法:统一用var定义,如var PI = 3.14; 区别常量和变量可用大小写字母来区别。
问题6:input元素的type属性,在FireFox下可修改其type的值;如:
Js代码
1. var?input?=?document.getElementById("button1");?? 2. input.type?=?"text";??//将按钮变成输入框??
?但在IE下却不能这样使用。
解决方法:无
问题7:模式窗口window.showModalDialog(...)和非模式窗口window.showModelessDialog(...),只能在IE下运行,而在Firefox下却用不了。
解决方法:统一用window.open(...)代替。
问题8:frame操作问题,在IE中,可通过window.frameId或者window.frameName即可获得对frame页面window对象的引用; 而在FireFox下,只能通过window.frameName来获得。如下: