在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/
因为iframe
元素是不是自闭元素。 您正在使用的Firefox和Safari的版本处理/>
刚刚在结束>
,它包含在中后承担一切iframe
。
如果我们试图通过代码你通过给W3C的验证 ,我们会看到以下错误:
错误:自闭语法( />
非空隙HTML元件上使用。 忽略斜线和治疗作为起始标记。
<iframe src="http://www.bing.com"/>
错误:文件结束期待文本或结束标记时看到。
</html>
错误:未关闭的元素iframe
。
<iframe src="http://www.bing.com"/>
如果您检查您的浏览器的元素检查您的文档,你会看到发生了什么事情。
Chrome浏览器,我使用的,转换无效<iframe ... />
到<iframe ...></iframe>
有作为的“自闭的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?