如何判断IE真正渲染内核(文档模式)

 时间:2024-10-20 04:10:35

通常我们判断IE浏览器版本是通过用户代理字符串(也就是 User Agent),实际上还有更简单的方法,因为我们判断IE版本往往都是为做兼容工作,而文档模式决定了渲染引擎,所以我们也可以通过自IE8开始提供的document.documentMode 文档模式属性判断浏览器版本。

属性说明

1、IE自IE8开始区分浏览器模式与文档模式(早期叫文本模式),允许用户手动变更两个模式,也允许开发者通过 X-UA-Compatible 标记需要使用的文档模式,同时还提供了document.documentMode 属性以供开发者判断正在使用的文档模式。

2、由于文档模式决定了CSS和JS渲染引擎,当我们为兼容工作判断不同IE版本时,不需要通过 UA 判断,直接通过document.documentM泠贾高框ode 属性即可。文档模式只代表当前使用的渲染内核,并不等于当前浏览器的真正版本。例如,当IE11模拟IE8时,文档模式返回结果会是8。需要注意的是,文档模式决定了 if IE 条件注释会不会执行,如果文档模式是 8,那么 <!––[if IE 8]> 语句也会执行。

3、document.documentMode 属性值是数字,如下所示:5 怪异模式时返回57 模拟IE7时返回78 模拟IE8或当前是IE8时返回89 模拟IE9或当前是IE9时返回910 模拟IE10或当前是IE10时返回1011 当前是IE11时返回11

代码示例

1、判断当前文档模式是否IE8标准模式,代码如下所示:<script> if (document.documentMode == 8) { alert('当前文档模式是IE8,你正在使用IE8访问,或者设置了IE8兼容性识图。'); } else { alert('当前文档模式不是IE8'); }</script>

2、如果文档模式低于等于IE10就跳转到I苇质缵爨E浏览器升级提示页,代码如下所示:<script>/*@cc_on if (! docu罪焐芡拂ment.documentMode || document.documentMode <= 10) { window.location.href='http://support.dmeng.net/upgrade-your-browser.html?referrer='+encodeURIComponent(window.location.href); }@*/</script>@cc_on 是 IE10 及旧版IE特有的条件编译语句,因此可以用来判断是否除IE11版本以外的IE浏览器。! document.documentMode 是为了匹配 IE6/IE7 ,因为document.documentMode 是 IE8 才新增的属性,在 IE6/IE7 中没有。

  • IE10如何正确显示与XSL关联的xml文件
  • win10怎么给IE浏览器降级?
  • IE浏览器如何开启activex控件
  • IE10+显示不出文档模式解决方案
  • 新版Edge如何查看SSL证书
  • 热门搜索
    4k手抄报版面设计图 推广普通话手抄报内容 手抄报 国庆节 关于青春的手抄报 国庆节手抄报简单又漂亮字少 五水共治手抄报内容 科学家的故事手抄报 端午节手抄报怎么画 清明手抄报资料 放飞梦想手抄报内容