根据W3C,头标记中是否允许使用iframe标记?

Ari*_*rie 8 html iframe w3c

我正在与两位开发人员讨论如何<iframe><head>HTML页面中放置一个.这是TAG所必需的.

根据开发人员1,标记可能不会放在标题中,因为标记会创建一个iframe来加载另一个标记,而iframe是流内容,并且必须<body>根据HTML 5.1的W3C规范放置.

开发人员2表示,在允许嵌入内容的任何环境中都允许使用iframe.一些嵌入的内容也可以是交互式内容(例如音频标签),并且这些内容必须在体内; 但是,我们添加的iframe没有内容且不是交互式的,因此根据他对规范的理解,它可能会出现在文档的任何位置.

有关W3C规范的更多信息,请访问:http://www.w3.org/TR/html5/dom.html#kinds-of-content

W3C验证器不会在头部出现iframe错误或警告,但这对于开发人员1来说还不够.

问题很简单:如果我们将没有内容的iframe放在头部,这是否违反了规范,或者规范是否像开发人员2所说的那样留下了解释空间?

Que*_*tin 10

根据开发人员1,标签可能不会放在标头中,因为标签会创建一个IFRAME来加载另一个标签,而IFRAME是必须根据HTML 5.1的W3C规范放在BODY中的流内容.

这是对的

开发人员2表示允许在允许嵌入式内容的任何环境中使用IFRAME.

正确

某些嵌入内容也可能是交互式内容(例如:音频标签),这些内容必须位于BODY中,

正确

但是,我们添加的IFRAME没有内容

不正确.

iframe元素的子节点为不支持框架的浏览器提供替代内容.这是内容.

iframe本身是一个被替换的元素.它在页面上生成可视UI以显示另一个文档.这是内容.

而且不是互动的,

说明书中明确列出了它作为交互式内容.

所以基于他对规范的理解,它可能会出现在文档的任何地方.

不正确.

W3C验证器不会抛出错误或警告,但这对于开发人员1来说还不够.

不允许在头部中使用的iframe将隐式结束head元素并启动body元素,因此如果您使用仅在头部或显式头端标记或正文中允许的内容,则只会出现错误开始标记.

如果我们放置没有内容的IFRAME

哪有这回事

在HEAD中这将违反规范

将任何iframe放在头部都会违反规范