是空的iframe src有效吗?

我想要一个iframe最初有src作为空白,然后一旦页面加载; 调用JS函数,然后将src值设置为实际值

所以是<iframe src="#" />有效或者我需要使用其他的东西像javascript:; 等等

只是<iframe src='about:blank'></iframe>

HTML 5的工作草案第4.8.2节说(强调我的):

src属性给出了嵌套浏览上下文将包含的页面的地址。 该属性(如果存在)必须是可能被空格包围的有效非空URL

根据RFC 3986 ,有效的URL必须以scheme名称开头,相关引用不能只包含一个片段 。

因此, #不是有效的URL,不应该用作src属性的值。

使用about:空白代替。

不,指定一个空的iframe src是无效的

你应该使用<iframe src="about:blank" />

#对当前页面中的锚点引用 (或者,在处理AJAX请求时经常用作路由scheme)。 将它用作iframe的源代码将是毫无意义的,因为iframe不会引用当前页面上的内容,也不会与AJAX请求一起使用。

about:blank是一个跨浏览器的标准来显示一个空白文档。

2012年6月8日更新:

如果src属性丢失,那么'living'规范似乎不再呈现iframe:

如果在创build元素时未设置srcdoc属性,并且src属性也未设置或设置,但其值不能被parsing,浏览上下文将保留在最初的about:blank页面上。

如果这两个属性都未设置,则浏览上下文将默认为about:blank 。 为了提供适当的向后兼容性,build议使用冗长的,现在提供about:blank url。

看起来你也可以完全忽略src:

http://dev.w3.org/html5/spec/Overview.html#the-if​​rame-element

如果在创build元素时未设置 srcdoc属性,并且src属性也未设置或设置,但其值不能被parsing,浏览上下文将保留在最初的about:blank页面上。

您可以在src属性中使用about:blank (正如前面的ariel所述),否则当从安全页面提供时会引发错误。

安全的页面https会在安全的网站上抛出可能不安全的数据的错误。

你可以尝试通过Javascript添加iframe,所以你不需要在HTML中有一个空白的:

(jQuery示例)

 <script type="text/javascript"> $().ready(function() { $("<iframe />").attr("src", "http://www.bbc.co.uk/").appendTo("body"); }); </script> 

使用Javascript添加iframe可以降低优雅性 – 没有Javascript的用户将看不到空白的iframe。

作为关于URIscheme标准的一部分,about:blank可能是最好的select,因为它有非常好的浏览器支持。

about:blank返回媒体types为text / html和字符编码为UTF-8的空白HTML文档。 这被广泛用于将空白页面加载到浏览上下文中,例如HTML中的iframe,然后可以通过脚本进行修改。 你可以在这里看到更多