随着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之后新增的。
分享到:
相关推荐
档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。
对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途。
主要介绍了document.compatMode的CSS1compat使用,需要的朋友可以参考下
百度地图毕业设计源码 1. Front-End-interview-questions 分享请标记出处: ...声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。 如果你是使用最新标准编写的页面但未给出 DOCTYPE 声明,这时就可
compatMode:获取当前document的兼容模式; cookie:获取或者设置当前document的cookie对象; defaultCharset:获取浏览器默认的编码方式; defaultView:获取当前当前document的window对象; dir:获取或者设置...
document.compatMode 获取当前文档的渲染方式。返回值:BackCompat(怪癖模式)和CSS1Compat(标准模式)。 由于IE 8多达五种渲染模式,所以判断是否是怪癖模式需要借助于IE独有的document.documentMo
对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途。其实这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,盒模型的渲染在 Standards Mode和Quirks Mode是有很大...
代码在ext里的src\core\ext.js下... }, isStrict = document.compatMode == “CSS1Compat”, isOpera = check(/opera/), isChrome = check(/chrome/), isWebKit = check(/webkit/), isSafari = !isChrome && check(/saf
1.先上效果图:2.使用方法: 初始化:Overlayer.Initialize({ZIndex:100,Backgrund:#666,Opacity:80}); 显示:Overlayer.Show();或Overlayer.Initialize({ZIndex:... if(document.compatMode==’BackCompat’) { obj=d
var isStrict=document.compatMode==”CSS1Compat”, isOpera=ua.indexOf(“opera”)>-1, isSafari=(/webkit|khtml/).test(ua), isIE=ua.indexOf(“msie”)>-1, isIE7=ua.indexOf(“msie 7”)>-1, isGeck
@*点击按钮页面刷新的时候 记住滚动条的位置*@ 代码如下: [removed] [removed] = function () { ... } else if (typeof document.compatMode != ‘undefined’ && document.compatMode != ‘BackCompat’) { scrollPo
代码如下: function getTotalHeight(){ if($.browser.msie){ return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight : document.body.clientHeight; } else { return self....
compatMode 设置或获取表明此对象是否应用标准兼容模式的值。 注释 此对象在 Microsoft® Internet Explorer 3.0 的脚本中可用。 使用 document 对象可以对 HTML 文档进行检查、修改或添加内容,并处理该文档...
_QUIRKS = document.compatMode != 'CSS1Compat', _IERANGE = !window.getSelection, _matches = /(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec(_ua), _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
= “number”){ if(document.compatMode == “number”){ pageWidth = document.documentElement.clientWidth; pageHeight = document.documentElement.clientHeight; }else{ pageWidth = document.body.clie
} return { //判断环境,操作系统、浏览器、是否是https连接等 DOC : document, isStrict : DOC.compatMode == “CSS1Compat” , isOpera : check(/opera/) , isChrome : check(/\bchrome\b/) , isWebKit : check(/...
代码如下://======需引用jquery框架======// //返回当前页面高度 function pageHeight(){ if($.browser.msie){ return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight : document....