十年专注于品牌网站建设 十年专注于品牌网站建设,低调、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

介绍compatMode与documentMode区别及用法

百恒网络 2016-11-29 718

对浏览器模式的判断也是开发中必不可少的一环,随着IE6开始区分标准模式和混杂模式,确定浏览器处于何种模式的需求也就应运而生。IE为 document对象添加了一个名为compatMode的属性,这个属性的唯一使命就是标识浏览器处于什么模式。如下面的例子所示,如果是标准模式,则document.compatMode的值等于”CSSICompat ,如 果是混杂模式,则document.compatMode的值等于”BackCompat”。

if ( document.compatMode==”CSSICompat”){

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”);

}

关于在将来的新版浏览器中,这个属性的值会如何变化,微软并没有给出太多说明。因此,如果你想测试的是IE8标准模式,那么最好测试这个属性的值是不是大干7,而不是直接测试它是不是等

于8,以防将来这个属性的值可能会发生变化。如下所示应用实例:

if (document.compatMode == "BackCompat") {

cWidth = document.body.clientWidth;

cHeight = document.body.clientHeight;

sWidth = document.body.scrollWidth;

sHeight = document.body.scrollHeight;

sLeft = document.body.scrollLeft;

sTop = document.body.scrollTop;

}

else { //document.compatMode == "CSS1Compat"

cWidth = document.documentElement.clientWidth;

cHeight = document.documentElement.clientHeight;

sWidth = document.documentElement.scrollWidth;

sHeight = document.documentElement.scrollHeight;

sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;

sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;

}

本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广技人员有所帮助。原创文章出自:南昌网站建设公司-百恒网络http://www.jxbh.cn/如转载请注明出处!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×