假设,作为示例,下面的 test.html
文档以 UTF-8 编码保存:
<html>
<head>
<title>Test</title>
</head>
<body>
Test document.
</body>
</html>
我如何在 IE11 和 Chrome 最新版本中确定浏览器决定猜测的文档类型(如果有)? (请注意,上面的文档只是一个示例,我正在寻找一种方法来确定浏览器假定的文档类型,而不是对此实例的回答。(教我怎么钓鱼!))
我搜索并找到了this related question其中答案提到 document.doctype
,但在 Chrome 中是 null
,在 IE11 中是 undefined
。
我还尝试了各种其他搜索,例如 this one ,但这只会导致有关设置正确文档类型的帖子。
我浏览了 Chrome 和 IE11 的开发者工具,但没有找到(也许只是没看到)。
我仔细查看了 Stack Overflow 上所有建议的重复问题,以及边栏中的“类似问题”,但没有一个能完全回答我的问题。
底线:能否使用 JavaScript(首选)或浏览器的开发人员工具来找出假定的文档模式?或者是否有这方面的规范或已知规则?
最佳答案
简答:如果没有指定文档类型,则没有可用的文档类型。
根据 this answer , 浏览器不采用文档类型而是进入“怪癖模式”:
The usual method of setting quirks mode is not not include a doctype, or include content before the doctype.
(阅读完整答案以比较 the three basic modes。)
您可以找到关于不同文档类型及其触发模式的概述 on Wikipedia .如果不存在文档类型,它确认所有浏览器都进入怪癖模式。
This thread包含有关如何检查浏览器是否处于怪异模式的信息,主要是通过检查 document.compatMode
。
关于javascript - 如果文档中没有设置文档类型,如何确定文档类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32563321/