解决JS在firefox和IE下差异问题(1)(3)
13.frame问题
以下面的frame为例:
- <framesrcframesrc="xxx.html"id="frameId"name="frameName"/>
(1)访问frame对象:
IE:使用window.frameId或者window.frameName来访问这个frame对象.
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中的参数传回父窗口,可以在frme中使用parent来访问父窗口。例如:parent.document.form1.filename.value=Aqing;
14.body问题
Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body标签被浏览器完全读入之后才存在.
Firefox:
- <body>
- <scripttypescripttype="text/javascript">
- document.body.onclick=function(evt){
- evtevt=evt||window.event;
- alert(evt);
- }
- </script>
- </body>
- IE&Firefox:
- <body>
- </body>
- <scripttypescripttype="text/javascript">
- document.body.onclick=function(evt){
- evtevt=evt||window.event;
- alert(evt);
- }</script>
15.事件委托方法
IE:document.body.onload=inject;//Functioninject()在这之前已被实现
Firefox:document.body.onload=inject();
有人说标准是:
document.body.onload=newFunction('inject()');
16.firefox与IE(parentElement)的父元素的区别
IE:obj.parentElement
firefox:obj.parentNode
解决方法:因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.
- 上一篇:解析J2ME对话框选择功能的实现
- 下一篇:解析JS中实现打印的两大方式






