为什么要显示的自闭iframe标签防止进一步的DOM元素?为什么要显示的自闭iframe标签防止进一

2019-05-12 10:10发布

在Firefox和Safari浏览器,下面的代码只显示第一个IFRAME

<iframe src="http://www.bing.com"/>
<iframe src="http://www.tsr.ch"/>

而添加结束标记解决问题

<iframe src="http://www.bing.com"></iframe>
<iframe src="http://www.tsr.ch"></iframe>

我不明白为什么这是行不通的。 当解析用的DOMParser第二示例中,它确实反正改造自闭合内部框架。

小提琴这里: http://jsfiddle.net/hLcukz6p/

Answer 1:

因为iframe元素是不是自闭元素。 您正在使用的Firefox和Safari的版本处理/>刚刚在结束> ,它包含在中后承担一切iframe

如果我们试图通过代码你通过给W3C的验证 ,我们会看到以下错误:

错误:自闭语法( />非空隙HTML元件上使用。 忽略斜线和治疗作为起始标记。

 <iframe src="http://www.bing.com"/> 

错误:文件结束期待文本或结束标记时看到。

 </html> 

错误:未关闭的元素iframe

 <iframe src="http://www.bing.com"/> 

如果您检查您的浏览器的元素检查您的文档,你会看到发生了什么事情。

Chrome浏览器,我使用的,转换无效<iframe ... /><iframe ...></iframe>



Answer 2:

有作为的“自闭的iframe” HTML格式(或者,就此而言,任何其他类型的自闭标签,也只是一些元素,其中的结束标记可以或必须省略和iframe是不是一个没有这样的事他们)。

你有一个iframe 起始标记具有无效/在它的结束。

随后一切都是iframe的子节点,所以它不支持iFrame的浏览器视为替代内容。


XHTML支持自结束标记,并且可以使用一个(如果你没有被HTML兼容)可以添加任何元素。

HTML 5允许/在为在省略结束标记元素的开始标记的结束,但它已经超越满意的XML成瘾和错误的语法荧光笔没有影响。



文章来源: Why is a self-closing iframe tag preventing further DOM elements to be displayed?
标签: html dom iframe