IE浏览器的一些兼容性问题
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/129/ ]
最近正好在招聘WEB程序开发人员,心血来潮就把招聘信息放到了公司网站的源代码里,让更合适的人看到.下边就分享一下可能会出现的问题及解决方案.
最近正好在招聘WEB程序开发人员,心血来潮就把招聘信息放到了公司网站的源代码里,让更合适的人看到。下边就分享一下可能会出现的问题及解决方案。
1)为了让招聘信息更显眼一些,有些网站会把隐藏信息写在文档开头,例如:
<!-- 招聘信息 --> <!DOCTYPE html> <html> <head> <title>某某网站</title> </head> <body> 文档的内容 </body> </html>
乍一看似乎没什么问题,但到了IE8或更老的浏览器,问题就来了,浏览器就会进入怪异模式。
由于历史原因,浏览器文档的解析类型(document.compatMode)有两种:
A)BackCompat:浏览器使用自己的模式解析渲染页面。
B)CSS1Compat:浏览器使用W3C的标准解析渲染页面。
如果浏览器在解析文档前没有找到DOCTYPE的声明,那么compatMode默认就是BackCompat,这就导致某些浏览器,使用自己的模式解析渲染页面,更会导致兼容性问题。所以,正确的写法如下:
<!DOCTYPE html> <!-- 招聘信息 --> <html> <head> <title>某某网站</title> </head> <body> 文档的内容 </body> </html>
这就不会导致怪异的兼容问题了。
2)通过console.log('招聘信息')的方式,在控制台显示招聘信息。
对于IE9或更老的浏览器,会提示:'console' is undefined (console未被定义) 错误,所以如果要考虑兼容IE9及以下的浏览器,就得通过如下方式
if (window.console) { ... }
包住console.log()相关代码即可。
从IE10开始,就没这个问题了。
我来说两句: