我希望iframe最初将src
设为空白,然后在页面加载后;调用JS函数,然后将src
值设置为实际值..
<iframe src="#" />
是有效还是我需要使用javascript:;
等其他内容
答案 0 :(得分:90)
只是<iframe src='about:blank'></iframe>
答案 1 :(得分:46)
HTML 5工作草案section 4.8.2说(强调我的):
src
属性给出了地址 嵌套浏览的页面 上下文是要包含的。属性, 如果存在,必须是有效非空 网址可能被空格包围。
根据RFC 3986,有效网址必须以scheme name开头,而相对引用不仅包含fragment。
因此,#
不是有效的网址,不应用作src
属性的值。
改为使用about:blank。
答案 2 :(得分:22)
不,无效指定空的iframe src。
您应该使用<iframe src="about:blank" />
。
#
是对当前页面中的锚点的引用(或者,在处理AJAX请求时经常用作路由方案)。使用它作为iframe的源是没有意义的,因为iframe不引用当前页面上的内容而不用于AJAX请求。
about:blank
是跨浏览器标准,用于显示空白文档。
2012年6月8日更新:
如果缺少src
属性,'living' spec似乎不再呈现iframe:
如果,在创建元素时,未设置srcdoc属性,并且 src属性也未设置或设置,但其值不能 解决后,浏览上下文将保持在初始状态 关于:空白页。
但是,如果未设置这两个属性,则浏览上下文将默认为about:blank
。为了提供适当的向后兼容性,建议使用详细信息,并且暂时提供about:blank
网址。
答案 3 :(得分:10)
看起来你也可以完全忽略src:
http://dev.w3.org/html5/spec/Overview.html#the-iframe-element
如果在创建元素时,srcdoc属性为未设置,并且 src属性是也未设置或设置,但其值不能 解决后,浏览上下文将保持在初始状态 关于:空白页。
答案 4 :(得分:1)
您可以在about:blank
属性中使用src
(如前面提到的ariel所述),否则在从安全页面提供服务时会出错。
安全页面https
会在安全网站上引发可能不安全数据的错误。
答案 5 :(得分:1)
您可以尝试通过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。
答案 6 :(得分:1)
作为关于URI方案标准的一部分,about:blank可能是最好的选择,因为它具有非常好的浏览器支持。
about:blank返回包含媒体类型的空白HTML文档 text / html和字符编码UTF-8。这被广泛用于加载 空白页面进入浏览上下文,例如HTML中的iframe,其中 然后可以通过脚本进行修改。 You can see further here
答案 7 :(得分:0)
记录
让我们说下一个例子(Firefox 58,但它可能存在于所有浏览器中)。
<link href="css.css" rel="stylesheet" type="text/css"/>
<iframe src='about:blank'></iframe>
在css之前加载iframe,因此在加载css之前可以看到页面的渲染。即对于一秒钟的分割,页面看起来没有css。
相反:
<link href="css.css" rel="stylesheet" type="text/css"/>
<iframe src='blank.html'></iframe>
工作正常,加载了css,最后加载了iframe。
答案 8 :(得分:0)
如果您不想使用about:blank
,则可以将JavaScript用作src
的{{1}},如下例所示:
iframe
上面的示例将初始化一个带有简单消息<iframe name="TV" id="tv" style="width:100%; background: #800000" src="javascript:document.write('<h3>Results Window</h3>')"></iframe>
的栗色背景iframe
。但是,链接的目标应等于<h3>Results Window</h3>
iframe
属性,即在该示例中为name
。
答案 9 :(得分:0)
如果你用
调用你的iframe
javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(VARİABLES,,true,,false,)
在服务器端,您可以再次拥有 src=""