如果在文档中设置了none,如何确定doctype?
How to determine doctype if none was set in the document?
假设,作为示例,以下确切的 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,但这只会导致有关 setting a correct doctype.
的帖子
我浏览了 Chrome 和 IE11 的开发者工具,但没有找到(也许只是没看到)。
我仔细查看了 Stack Overflow 上所有建议的重复问题,以及边栏中的 "Similar Questions",但 none 完全回答了我的问题。
底线: 能否使用 JavaScript(首选)或浏览器的开发人员工具来找出假定的文档模式?或者是否有这方面的规范或已知规则?
简答:如果没有指定文档类型,则没有可用的文档类型。
根据 this answer,浏览器不假定文档类型而是输入 "quirks mode":
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
.
假设,作为示例,以下确切的 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,但这只会导致有关 setting a correct doctype.
我浏览了 Chrome 和 IE11 的开发者工具,但没有找到(也许只是没看到)。
我仔细查看了 Stack Overflow 上所有建议的重复问题,以及边栏中的 "Similar Questions",但 none 完全回答了我的问题。
底线: 能否使用 JavaScript(首选)或浏览器的开发人员工具来找出假定的文档模式?或者是否有这方面的规范或已知规则?
简答:如果没有指定文档类型,则没有可用的文档类型。
根据 this answer,浏览器不假定文档类型而是输入 "quirks mode":
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
.