IEFirefox兼容性问题.docVIP

  • 2
  • 0
  • 约8.24千字
  • 约 7页
  • 2016-12-10 发布于重庆
  • 举报
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(); /divfunction onMenuClick(

文档评论(0)

1亿VIP精品文档

相关文档