- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IE_Firefox兼容性问题
IE Firefox 兼容性问题
1. 对象问题
1.1 Form对象
现有问题:
现有代码这获得form对象通过document.forms(formName),这样使用在IE 能接受,MF 不能。
解决方法:
改用作为下标运算。改为document.forms[formName]
备注
上述的改用作为下标运算中的formName是id而name
1.2 HTML对象
现有问题:
在IE 中,HTML 对象的ID 可以作为document 的下属对象变量名直接使用。在MF 中不能。
document.all(itemName)或者document.all(itemId)
解决方法:
使用对象ID作为对象变量名
document.getElementById(itemId)
备注
document.all是IE自定义的方法,所以请大家尽量不使用。
还有一种方式,在IE和MF都可以使用
var f = document.forms[formName ];
var o = f. itemId;
1.3 DIV对象
现有问题:
在IE 中,DIV对象可以使用ID作为对象变量名直接使用。在MF 中不能。
DivId.style.display = none
解决方法:
document.getElementById(DivId).style.display = none
备注
获??对象的方法不管是不是DIV对象,都使用getElementById方法。参见.2
1.4 关于frame
现有问题
在IE中可以用window.testFrame取得该frame,mf中不行
解决方法
在frame的使用方面MF和IE的最主要的区别是:
如果在frame标签中书写了以下属性:
那么IE可以通过id或者name访问这个frame对应的window对象
而mf只可以通过name来访问这个frame对应的window对象
例如如果上述frame标签写在最上层的window里面的htm里面,那么可以这样访问
IE:window.top.frameId或者window.top.frameName来访问这个window对象
MF:只能这样window.top.frameName来访问这个window对象
另外,在mf和ie中都可以使用window.top.document.getElementById(frameId)来访问frame标签
并且可以通过window.top.document.getElementById(testFrame).src = xx.htm来切换frame的内容
也都可以通过window.top.frameName.location = xx.htm来切换frame的内容
1.5 窗口
现有问题
IE中可以通过showModalDialog和showModelessDialog打开模态和非模态窗口,但是MF不支持。
解决办法
直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要传递参数,可以使用frame或者iframe。
2. 总结
2.1 在JS中定义各种对象变量名时,尽量使用id,避免使用name。
在IE 中,HTML 对象的ID 可以作为document 的下属对象变量名直接使用。在MF 中不能,所以在平常使用时请尽量使用id,避免只使用name,而不使用id。
2.2 变量名与某HTML 对象id 相同的问题
现有问题
在MF 中,因为对象id 不作为HTML 对象的名称,所以可以使用与HTML 对象id 相同的变量名,IE 中不能。
解决方法
在声明变量时,一律加上var ,以避免歧义,这样在IE 中亦可正常运行。
此外,最好不要取与HTML 对象id 相同的变量名,以减少错误。
1. document.all
Firefox可以兼容document.all,但会生成一条警告。可以用getElementById(*) 或者getElementByTagName(*)来代替
不过对于document.all.length等属性,则完全不兼容。
2. parentElement
这个也不兼容。比方说,obj.parentElement.name 则应改成obj.parentNode.attributes.getNamedItem(name).nodeValue (不知道如何写得更简洁些)
3. event
W3C不支持windows.event
比方说:
在IE里面
div class=menu id=menu onclick=onMenuClick(); /div
function onMenuC
您可能关注的文档
最近下载
- 中医内科学课件 肺胀.ppt VIP
- 美罗培南治疗新生儿脓毒症的临床实践指南(2024年版).pptx
- 难点微专题4测声速问题(解析版).docx VIP
- 幼儿园组织与管理(第2版)课件 第七章 幼儿园总务管理.pptx
- 2025内蒙古维拉斯托矿业有限公司招聘6人笔试参考题库附答案解析.docx VIP
- 难点微专题1听到几次声音问题(解析版).docx VIP
- 普发涡轮分子泵Hipace 300 ZH说明书.pdf VIP
- 难点微专题7烧杯中放试管问题(解析版).docx VIP
- 难点微专题1杠杆转动时拉力大小变化问题(解析版).docx VIP
- 难点微专题6测不准的温度计(解析版) .docx VIP
文档评论(0)