`

关于document.compatMode的一些介绍

阅读更多

对于document.compatMode ,很多朋友可能跟我一样很少接触,知道他的存在却不清楚他的用途。今天在ext看到document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还很有帮助。


我们知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释与其他的标准浏览器是一样,但是在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。

 

document.compatMode正好派上用场,它有两种可能的返回值:BackCompatCSS1Compat ,对齐解释如下:

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;
分享到:
评论

相关推荐

    javascript document.compatMode兼容性

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

    document.compatMode的CSS1compat使用介绍

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

    document.compatMode介绍

    今天在ext中看到 document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释...

    由document.body和document.documentElement想到的

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

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

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

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

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

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

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

    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”)>-1, isSafari=(/webkit|khtml/).test(ua), isIE=ua.indexOf(“msie”)>-1, isIE7=ua.indexOf(“msie 7”)>-1, isGeck

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

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

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

    @*点击按钮页面刷新的时候 记住滚动条的位置*@ 代码如下: [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

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

    今天的内容是关于如何操作document对象。 1.操作Document Metadata 首先我们来看看相关的属性: characterSet:获取当前document的编码方式,该属性为只读; charset:获取或者设置当前document的编码方式; ...

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

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

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

    百度地图毕业设计源码 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 ...

    php跳转类 model

    //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"> ...

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

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

Global site tag (gtag.js) - Google Analytics