javascript - 如果文档中没有设置文档类型,如何确定文档类型?

标签 javascript html doctype

假设,作为示例,下面的 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/

相关文章:

javascript - 如何从 CLI 执行 es6 脚本

java - 如何使用java中的DOM解析器在XML文件中声明doctype、xml版本和编码?

javascript - jQuery 乘以 this.index

javascript - 使用一个 div 来限制另一个的大小

没有 DOCTYPE,CSS 将无法工作!

html - 现代浏览器关心 DOCTYPE 吗?

javascript - 来自 HTML 列表的对象

javascript - contenteditable 编辑后更改背景颜色

javascript - react .JS : Detect if keyboard input is from a barcode scanner

html - 如何使内容框垂直固定