当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript document.compatMode兼容性

Javascript
网页对联广告代码效果大全
限制图片上传长宽的javascript代码
用javascript绘图—JS2D函数集
使主页呈现“飞舞”特效
用javascript实现浏览器地震效果
图片下拉选择器的制作
用JS将网页窗口由小变大
图片控制的渐变色文字
连续滚动的制作
制作仿“QQ秀”的虚拟形象
PHP与javascript对多项选择的处理
用JavaScrpt实现文件夹轻松加密
初学javascript之cookie篇(译)
javascript学习:基础继承机制
一个很通用的javascript的下拉菜单
javascript中的数组应用的一点发现
javascript表单之间的数据传递
一个简单的javascript菜单
预装载以及javascript Image()对象
网页软键盘,有效的防止监测键盘的木马软件

Javascript 中的 javascript document.compatMode兼容性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 151 ::
收藏到网摘: n/a

文档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。 IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。
document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSS1Compat。
BackCompat:标准兼容模式关闭。浏览器客户区宽度是document.body.clientWidth;CSS1Compat:标准兼容模式开启。 浏览器客户区宽度是document.documentElement.clientWidth。
那么写了个准确获取网页客户区的宽高、滚动条宽高、滚动条Left和Top的代码:
复制代码 代码如下:

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;
}