在开发时, 对于
document.compatMode 问题, 这个对于我们开发兼容性的web页面很有帮助,MS 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 Standards-compliant mode is switched on. (Standards Mode)
CSS1Compat Standards-compliant mode is switched on. (Standards Mode)
在实际的项目中,我们需要在获取浏览器 compatMode 值,这样就可以得到 MS IE 的渲染模式了; 根据不同的渲染模式值在取某些变量时有区别,如:
var height = document.compatMode == "CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
JS获取当前页面的 compatMode 值如下:
window.οnlοad=function(){
alert( 'Current page compatMode is : ' + document.compatMode );
}