假设您的页面具有相对严格的doctype和HTML标记,并且非常接近合规性,但是可能会以几种愚蠢的方式错过,这可能是因为用户内容超出了您的控制范围…表示您正在处理内容管理系统或内容管理系统的主题,在其中您可以控制一些基本结构并需要一些javascript,但是您对进入页面的其他所有内容不承担任何责任。
您如何知道(或:将由什么决定)浏览器何时决定进入“怪癖”模式,而不是使用符合标准的引擎?
我正在寻找每种主要浏览器的答案,因为IE,Chrome,Safari和Firefox当然都将以不同的方式处理。一个错误足以迫使它出错吗?还是您有一些回旋余地?
在 Firefox和Opera中, 您可以通过检查页面信息来确定浏览器是否处于“怪癖模式”。
使用document.compatMode,可以告诉您大多数浏览器所处的模式。
document.compatMode
在 Chrome,Safari和IE中 ,在地址栏中运行以下javascript:
javascript:window.alert('You are in ' + (document.compatMode==='CSS1Compat'?'Standards':'Quirks') + ' mode.')
(请注意javascript:,由于最近的安全性更改,您需要在粘贴到地址栏中后重新输入该部分)
javascript: