document.compatMode?CSS1Compat?BackCompat?

万恶的兼容性,万恶的 IE,document.compatMode? CSS1Compat? BackCompat? WTF?

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

document.compatMode 属性就是用来判断当前浏览器采用的渲染方式,它有两个可能的值:BackCompatCSS1Compat

CSS1Compat:标准兼容模式开启。 浏览器客户区宽度是 document.documentElement.clientWidth

BackCompat:标准兼容模式关闭。浏览器客户区宽度是 document.body.clientWidth