如果文档中没有设置doctype,如何确定doctype?

6
假设有以下准确的test.html文档,以UTF-8编码保存:

例如,作为示例

<html>
<head>
    <title>Test</title>
</head>
<body>
    Test document.
</body>
</html>

如何在IE11和Chrome最新版本中确定浏览器对doctype的猜测(如果有的话)?(请注意,上面的文档仅是一个示例,我正在寻找一种确定浏览器所假定的doctype的方法,而不是回答此实例的答案。 (教我如何钓鱼!))
我搜索并发现这个相关问题,其中答案提到了document.doctype,但在Chrome中为null,在IE11中为undefined。 我还尝试了各种其他搜索,例如这个,但这只会导致关于设置正确doctype的帖子。
我已经仔细查看了Chrome和IE11的开发人员工具,但没有找到它(可能只是没看到)。
我已经仔细审查了Stack Overflow上所有建议的重复问题,以及侧边栏中的“类似问题”,但没有一个完全回答我的问题。

底线:JavaScript(首选)或浏览器开发工具是否可以用于查找所假定的文档模式?或者是否存在规范或已知规则?


如果我们假设如果 document.doctype 为 null/undefined,则没有设置 doctype,在这种情况下,浏览器将进入“Quirks Mode”,这将在每种浏览器类型中产生非常不可预测的结果。 - Asons
1个回答

7

简短回答:如果没有指定文档类型,就没有可用的文档类型。


根据这个答案, 浏览器不会默认假设文档类型(doctype),而是进入“quirks模式”:

设置quirks模式的常规方法是不包含文档类型,或在文档类型之前包含内容。

(阅读三种基本模式的完整比较。)
您可以在维基百科上找到有关不同文档类型及其触发的模式的概述。它证实,如果没有文档类型存在,则所有浏览器都会进入quirks模式。 这个线程包含关于如何检查浏览器是否处于quirks模式的信息,主要是通过检查document.compatMode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接