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

Jer*_*oen 5 html javascript doctype

例如,假设test.html以UTF-8编码保存的以下确切文档:

<html>
<head>
    <title>Test</title>
</head>
<body>
    Test document.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如何在IE11和Chrome中确定最新浏览器决定猜测的doctype(如果有的话)?(请注意,上面的文档只是一个示例,我正在寻找一种方法来确定浏览器假设的doctype,而不是这个实例的答案.(教我如何钓鱼!))

我搜索并找到了答案中提到的相关问题document.doctype,但这是null在Chrome和undefinedIE11中.我还尝试了各种其他搜索,例如这个搜索,但这只会产生关于设置正确doctype的帖子.

我已经浏览了Chrome和IE11的开发工具,但没有找到它(也许只是没看到它).

我仔细阅读了Stack Overflow上所有建议的重复问题,以及侧栏中的"类似问题",但没有一个能回答我的问题.

底线:可以使用JavaScript(首选)或浏览器的开发人员工具来找出假设的文档模式吗?或者有规格或已知的规则吗?

Tob*_*ias 6

简答:如果未指定doctype,则不提供doctype.


根据这个答案,浏览器不假设doctype而是进入"怪癖模式":

设置怪癖模式的常用方法不是包含doctype,也不包括doctype之前的内容.

(阅读完整的答案,比较三种基本模式.)

您可以在Wikipedia上找到不同文档类型及其触发模式的概述.它确认如果没有doctype,所有浏览器都会进入怪癖模式.

该主题包含有关如何检查浏览器是否处于怪异模式的信息,主要是通过检查document.compatMode.