`
thecloud
  • 浏览: 880779 次
文章分类
社区版块
存档分类
最新评论

compatMode与documentMode呈现模式

 
阅读更多

随着IE开始区分标准模式和怪异模式,确定浏览器处于何种模式的需求也就应运而生。IE为document对象添加了一个名为compatMode属性,这个属性的唯一使命就是表示浏览器处于什么模式。如下面的例子所示,如果是标准模式,则document.compatMode的值等于”CSS1Compat“,如果是怪异模式,则document.compatMode的值等于”BackCompat“。

codeif (document.compatMode == "CSS1Compat") {
    alert("Standards mode");
} else {
    alert("Quirks mode");
}


后来,Firefox、Opera和Chrome都实现了这个属性。Safari从3.1版开始也实现了document.compatMode

IE8又为document对象引入了一个名为documentMode的新属性,其用法如下面的例子所示。这是因为IE8有3中不同的呈现模式,而这个属性正是为了区分这些模式。这个属性的值如果是5,则表示怪异模式(即IE5模式);如果是7,则表示IE7仿真模式;如果是8,则表示IE8标准模式。

if (document.documentMode > 7) {
    alert("IE 8+ Standards Mode");
}

documentMode取得的值是真正的IE按照那种模式去解析页面,$.browser.version所取得的IE版本是不准确的【嵌套iframe的时候】,特别是外部嵌套webbrowser的时候,不管是IE8还是IE9,用webbrowser嵌套后用$.browser.version取到的IE版本总是7.0,如果增加了<meta http-equiv="x-ua-compatible" content="IE=5;IE=8;" />这个标记,取到的结果依然是7.0,但是实际上取到的documentMode为8,而页面也是按照IE=8的模式去解析的。由此可以看出,通过$.browser.version取到的版本不是真正页面按照那个IE版本去解析的,而documentMode取得的结果却是IE按照哪个模式进行解析的,documentMode是IE8之后新增的。

分享到:
评论

相关推荐

    javascript document.compatMode兼容性

    档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。

    document.compatMode介绍

    对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途。

    document.compatMode的CSS1compat使用介绍

    主要介绍了document.compatMode的CSS1compat使用,需要的朋友可以参考下

    百度地图毕业设计源码-Front-End-interview-questions:整理收集常见前端面试问题及一些知识点

    百度地图毕业设计源码 1. Front-End-interview-questions 分享请标记出处: ...声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。 如果你是使用最新标准编写的页面但未给出 DOCTYPE 声明,这时就可

    html5指南-2.如何操作document metadata

    compatMode:获取当前document的兼容模式; cookie:获取或者设置当前document的cookie对象; defaultCharset:获取浏览器默认的编码方式; defaultView:获取当前当前document的window对象; dir:获取或者设置...

    jQuery中使用了document和window哪些属性和方法小结

    document.compatMode 获取当前文档的渲染方式。返回值:BackCompat(怪癖模式)和CSS1Compat(标准模式)。 由于IE 8多达五种渲染模式,所以判断是否是怪癖模式需要借助于IE独有的document.documentMo

    由document.body和document.documentElement想到的

    对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途。其实这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,盒模型的渲染在 Standards Mode和Quirks Mode是有很大...

    ExtJS判断IE浏览器类型的方法

    代码在ext里的src\core\ext.js下... }, isStrict = document.compatMode == “CSS1Compat”, isOpera = check(/opera/), isChrome = check(/chrome/), isWebKit = check(/webkit/), isSafari = !isChrome && check(/saf

    JS 遮照层实现代码

    1.先上效果图:2.使用方法: 初始化:Overlayer.Initialize({ZIndex:100,Backgrund:#666,Opacity:80}); 显示:Overlayer.Show();或Overlayer.Initialize({ZIndex:... if(document.compatMode==’BackCompat’) { obj=d

    兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现

    var isStrict=document.compatMode==”CSS1Compat”, isOpera=ua.indexOf(“opera”)&gt;-1, isSafari=(/webkit|khtml/).test(ua), isIE=ua.indexOf(“msie”)&gt;-1, isIE7=ua.indexOf(“msie 7”)&gt;-1, isGeck

    页面刷新时记住滚动条的位置jquery代码

    @*点击按钮页面刷新的时候 记住滚动条的位置*@ 代码如下: [removed] [removed] = function () { ... } else if (typeof document.compatMode != ‘undefined’ && document.compatMode != ‘BackCompat’) { scrollPo

    基于jquery的获取浏览器窗口大小的代码

    代码如下: function getTotalHeight(){ if($.browser.msie){ return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight : document.body.clientHeight; } else { return self....

    编译的 HTML 帮助文件 (.chm) DHTML手册

    compatMode 设置或获取表明此对象是否应用标准兼容模式的值。 注释 此对象在 Microsoft® Internet Explorer 3.0 的脚本中可用。 使用 document 对象可以对 HTML 文档进行检查、修改或添加内容,并处理该文档...

    富文本编辑框

    _QUIRKS = document.compatMode != 'CSS1Compat', _IERANGE = !window.getSelection, _matches = /(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec&#40;_ua&#41;, _V = _matches ? _matches[1] : '0', _TIME ...

    鼠标移到图片上变大显示而不是放大镜效果

    if (document.compatMode==’CSS1Compat’) return document.documentElement.clientHeight; if (document.body) return document.body.clientHeight; return window.undefined; } function getVie

    取得窗口大小 兼容所有浏览器的js代码

    = “number”){ if(document.compatMode == “number”){ pageWidth = document.documentElement.clientWidth; pageHeight = document.documentElement.clientHeight; }else{ pageWidth = document.body.clie

    js如何判断不同系统的浏览器类型

    } return { //判断环境,操作系统、浏览器、是否是https连接等 DOC : document, isStrict : DOC.compatMode == “CSS1Compat” , isOpera : check(/opera/) , isChrome : check(/\bchrome\b/) , isWebKit : check(/...

    jquery 得到当前页面高度和宽度的两个函数

    代码如下://======需引用jquery框架======// //返回当前页面高度 function pageHeight(){ if($.browser.msie){ return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight : document....

Global site tag (gtag.js) - Google Analytics