根据开发人员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所说的那样留下了解释空间?
解决方法
According to developer 1 the tag may not be placed in the header because the tag creates an IFRAME to load another tag and IFRAME’s are flow content an must be placed in the BODY according to the W3C specifications for HTML 5.1.
这是对的
Developer 2 says the IFRAME is allowed in any context where Embedded content is allowed.
正确
Some embedded content may also be Interactive Content (eg: Audio tags),and these must be in the BODY,
正确
however,the IFRAME we add has no content
不正确.
iframe元素的子节点为不支持框架的浏览器提供替代内容.这是内容.
iframe本身是一个被替换的元素.它在页面上生成可视UI以显示另一个文档.这是内容.
and is not interactive,
specification explicitly lists it as being interactive content.
so based on his understanding of the spec,it may show up anywhere in the document.
不正确.
The W3C validator does not throw a error or warning,but this is not enough for developer 1.
不允许在头部使用的iframe将隐式结束head元素并启动body元素,因此如果您使用仅在头部或显式头端标记或正文中允许的内容,则只会出现错误开始标记.
If we place the IFRAME without content
哪有这回事
in the HEAD will this be a violation of the specifications
将任何iframe放在头部都会违反规范