Answers:
在Firefox和Opera中,您可以通过检查页面信息来确定浏览器是否处于“怪癖模式”。
使用document.compatMode
,可以告诉您大多数浏览器所处的模式。
在Chrome,Safari和IE中,在地址栏中运行以下javascript:
javascript:window.alert('You are in ' + (document.compatMode==='CSS1Compat'?'Standards':'Quirks') + ' mode.')
(请注意javascript:
,由于最近的安全性更改,您需要在粘贴到地址栏中后重新输入该部分)
正如您可以在JavaScript中查询呈现方式一样,您可以拥有一个Bookmarklet,该书签将告诉您页面正在使用哪种呈现方式。
我发现此渲染模式书签非常适合我:
javascript:m=(document.compatMode=='CSS1Compat')?'Standards':'Quirks';window.alert('You%20are%20in%20'%20+%20m%20+%20'%20mode.');
您实际的特定问题的完整答案:“是否有一个错误足以迫使它出错?还是您有一些回旋余地?” 完全取决于错误。例如,
<!-- Comment -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
即使不是真正的错误,也将在IE 6和7中强制使用怪癖模式(当文件的第一行不是声明时,它们只会抛出一个完全抖动)。在这里可以找到类型/怪癖的快速列表
尝试在您的HTML中粘贴以下行进行测试(我在这里传递的JavaScript行为非常糟糕-很抱歉,请确保此操作永远不会生效:)
<a href="javascript:alert(document.compatMode);">What mode am I?</a>
根据http://www.quirksmode.org/css/quirksmode.html的说法:“问题是,某些以怪癖模式编写的页面确实具有doctype。因此,每个浏览器都有其自己的列表,其中包含触发怪癖模式的doctype。请参见此浏览器这些列表概述的比较表:http : //hsivonen.iki.fi/doctype/ “
希望这可以帮助
在IE中,您会在开发人员工具中看到它(按F12键),并在菜单中显示它:Document Mode:...并且您也可以在那里强制使用其他模式。