空的iframe src属性是否有效?

91
我希望一个 iframe 最开始时的 src 置为空白,然后在页面加载完成后调用一个 JS 函数,并将 src 值设置为实际值。
因此,<iframe src="#" /> 是合法的,或者我需要使用类似于 javascript:; 的其它东西。

2
我到处看到 about:blank - pimvdb
1
我相信如果您省略了“src”属性,浏览器会默认使用“about:blank”。 - Jim Blackler
如果您将“src”留空,浏览器会自动解析它。并非所有浏览器都有“about:blank”。 - Rudie
1
@Jim,安全页面中省略 src 属性会在某些版本的 Internet Explorer 中触发臭名昭著的“此页面包含安全和不安全项”的消息。 - Frédéric Hamidi
1
我刚刚发现jQuery会因为#作为src而触发两次文档准备事件。花了我相当长的时间才找到原因;-) - Jos
11个回答

0

原始的HTML和JavaScript示例。

当某个事件发生时,您可以在iframe中加载内容。只要有一个准备好接受iframe的HTML元素即可。

在下面,仅当单击此段落元素时才会出现一个iframe。因此,在点击发生之前,它在技术上是空白的。

HTML

<body>
<p id=iFrameParagraph></p>
</body>

JavaScript

var pFrame = document.getElementById("iFrameParagraph"); //iframe paragraph

pFrame.addEventListener('click' ,function() {
    pFrame.innerHTML="<iframe src=\"./path/to/file\" frameborder=\"0\" height=\"400\" width=\"95%\"></iframe>"; 
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接