IE6-IE9浏览器兼容性问题解决方案

需积分: 9 6 下载量 37 浏览量 更新于2024-07-24 收藏 1.74MB DOC 举报
"此文档是关于IE6到IE9之间浏览器兼容性问题的综合列表,包含了JavaScript、DOM、HTML和CSS等方面的调整和变化,旨在帮助开发者解决在升级过程中的各种问题。" 在HTML方面,从IE6到IE8,浏览器开始支持格式正确的有效标记,不再容忍错误的HTML结构。例如,如果缺少P元素的结束标记,后面紧接着TABLE、FORM、NOFRAMES或NOSCRIPT元素,IE7和IE8会自动补全结束标记。此外,表对象模式的渲染更接近其他浏览器的标准,而文本布局则使用自然度量而非GDI度量。 CSS的更新主要体现在盒模型、选择器支持和元素覆盖上。在IE6和IE7中,方框模型的溢出内容会与方框相交,不再自动扩展以适应内容。同时,不推荐使用如*HTML、_underscore和//注释等特定于IE的CSS筛选器。IE7到IE8的升级中,CSS表达式不再被支持,转而采用增强的CSS或DHTML逻辑。此外,对于SELECT元素被div覆盖的问题,也得到了修复。 在JavaScript和DOM领域,IE6到IE7的升级中,window.close提示的绕过技巧不再有效,脚本创建的对话框可能在视觉上有所变化。IE7到IE8的更新则包括对"class"语法的支持,不再依赖"className"属性,属性集合只包含实际使用的属性,且属性排序改变,影响innerHTML和outerHTML的处理。GetElementById方法开始区分大小写,并不再搜索名称属性。 最后,IE8到IE9的升级引入了更多向标准靠拢的改变,如createElement方法中不再允许使用尖括号<>来创建元素,IE9标准模式下不再支持arguments.caller属性,函数指针调用方法的方式也发生了变化,不再支持不带".call"或".bind"的调用。此外,不再连接内容属性和DOM expando,JavaScript属性的列举方式在IE9中也有所不同,这些变化都要求开发者在编写代码时考虑兼容性问题。 这份文档详尽地列举了IE浏览器从6到9各个版本之间的差异,提供了针对性的解决办法,对于那些需要处理跨浏览器兼容性问题的开发者来说,是一份非常实用的参考资料。通过理解和应用这些解决策略,开发者可以更好地确保他们的网站或应用程序在不同版本的IE浏览器中都能正常运行。