前两天在研究“南方航空IE10兼容性”问题,在IE10的标准模式下,查询航班时没法显示结果。进入调试模式下调试,出现“loadXML”语法错误的提示(实际上是没法正常解析XML数据)。切换其余浏览器模式(如IE10兼容性视图),就能够正常显示航班结果了。虽然切换浏览器模式解决了显示问题,可是为了让用户有更好的体验,减小手动切换浏览器模式的烦恼,决定另寻更优的方法解决。 css
经研究,IE10有“浏览器模式”和“文档模式”,下面做简单的介绍 浏览器
浏览器模式的主要做用是为兼容较早版本的IE,它会控制浏览器发出的UserAgent,表示以哪一个版本的浏览器发出请求,以此来容许为某个特定IE版本设计的代码正确执行(举例来讲:有些代码真是判断ie版本的,还有css里也有判断ie版本的)。 测试
文档模式的主要做用是影响浏览器显示网页HTML的方式,在接到返回的HTML文件后,决定以哪一个IE版本的文档模式解析该页面(举例来讲:JS脚本就是依赖文档模式,IE9的js变化就须要IE9文档模式来支持)。 ui
通过分析与测试,文档模式的切换是能够正常显示查询结果的。 spa
经过添加如下语句(必须加在网页中除TITLE 和其余 META 元素之外的全部元素以前的标头 (HEAD部分) 中), 设计
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > 调试
文档模式就会自动切换,问题就解决了。 文档