对于document.compatMode
,很多朋友可能跟我一样很少接触,知道他的存在却不清楚他的用途。今天在ext看到document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还很有帮助。
我们知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释与其他的标准浏览器是一样,但是在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。
document.compatMode正好派上用场,它有两种可能的返回值:BackCompat
和CSS1Compat
,对齐解释如下:
BackCompat
: Standards-Compliant mode is not switched on.(Quirks Mode)
CSS1Compat
: Stanards-Compliant mode is switched on.(Standards Mode)
在实际项目中,我们还需要在获取浏览器是否IE,这样就可以得到IE的渲染模式了。
在Ext 中的代码:
var ua = navigator.userAgent.toLowerCase();
var isStrict = document.compatMode == "CSS1Compat",
isIE = !isOpera && ua.indexOf("msie") > -1,
isBorderBox=isIE&&!isStrict;
当文档有了标准声明时, document
.compatMode
的值就等于 "CSS1compat", 因此, 我们可以根据 document
.compatMode
的值来判断文档是否加了标准声明。
var height = document.compatMode=="CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
分享到:
相关推荐
档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。
主要介绍了document.compatMode的CSS1compat使用,需要的朋友可以参考下
今天在ext中看到 document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释...
对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途。其实这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,盒模型的渲染在 Standards Mode和Quirks Mode是有很大...
= “number”){ if(document.compatMode == “number”){ pageWidth = document.documentElement.clientWidth; pageHeight = document.documentElement.clientHeight; }else{ pageWidth = document.body.clie
document.compatMode 获取当前文档的渲染方式。返回值:BackCompat(怪癖模式)和CSS1Compat(标准模式)。 由于IE 8多达五种渲染模式,所以判断是否是怪癖模式需要借助于IE独有的document.documentMo
代码如下: function getTotalHeight(){ if($.browser.msie){ return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight : document.body.clientHeight; } else { return self....
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
代码在ext里的src\core\ext.js下... }, isStrict = document.compatMode == “CSS1Compat”, isOpera = check(/opera/), isChrome = check(/chrome/), isWebKit = check(/webkit/), isSafari = !isChrome && check(/saf
@*点击按钮页面刷新的时候 记住滚动条的位置*@ 代码如下: [removed] [removed] = function () { ... } else if (typeof document.compatMode != ‘undefined’ && document.compatMode != ‘BackCompat’) { scrollPo
if (document.compatMode==’CSS1Compat’) return document.documentElement.clientHeight; if (document.body) return document.body.clientHeight; return window.undefined; } function getVie
今天的内容是关于如何操作document对象。 1.操作Document Metadata 首先我们来看看相关的属性: characterSet:获取当前document的编码方式,该属性为只读; charset:获取或者设置当前document的编码方式; ...
代码如下://======需引用jquery框架======// //返回当前页面高度 function pageHeight(){ if($.browser.msie){ return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight : document....
百度地图毕业设计源码 1. Front-End-interview-questions 分享请标记出处: ...声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。 如果你是使用最新标准编写的页面但未给出 DOCTYPE 声明,这时就可
_QUIRKS = document.compatMode != 'CSS1Compat', _IERANGE = !window.getSelection, _matches = /(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec(_ua), _V = _matches ? _matches[1] : '0', _TIME ...
//define('STYLE_PATH',str_replace($_SERVER['DOCUMENT_ROOT'],'',ROOT_DIR)); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ...
} return { //判断环境,操作系统、浏览器、是否是https连接等 DOC : document, isStrict : DOC.compatMode == “CSS1Compat” , isOpera : check(/opera/) , isChrome : check(/\bchrome\b/) , isWebKit : check(/...