IE对盒模型的渲染在Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对盒模型的解释和其他的标准浏览器是一样的,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以 为兼容性考虑,我们可能需要获取当前的文档渲染方式。
document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSSCompat,对其解释如下:
BackCompat Standards-compliant mode is not switched on(Quirks Mode)
CSSCompat Standards-compliant mode is switched on(Standards Mode)
官方解释:
BackCompat:标准兼容模式关闭。
CSSCompat:标准兼容模式开启。
标准兼容模式关闭下,浏览器客户区宽度是document.body.clientWidth
标准兼容模式开启下,浏览器客户区宽度是document.documentElement.clientWidth