Javascript 空的iframe src有效吗?
我希望iframe最初将Javascript 空的iframe src有效吗?,javascript,html,css,iframe,Javascript,Html,Css,Iframe,我希望iframe最初将src设置为空白,然后在页面加载之后;调用JS函数,然后将src值设置为实际值 那么,是否有效,或者我是否需要使用类似于javascript:等仅否,指定空iframe src无效。 您应该使用 #是对当前页面中锚的引用(或者,在处理AJAX请求时经常用作路由方案)。使用它作为iframe的源是毫无意义的,因为iframe不引用当前页面上的内容,也不用于AJAX请求 about:blank是显示空白文档的跨浏览器标准 2012年6月8日更新: 如果缺少src属性,则似乎不
src
设置为空白,然后在页面加载之后;调用JS函数,然后将src
值设置为实际值
那么,
是否有效,或者我是否需要使用类似于javascript:
等仅
否,指定空iframe src无效。
您应该使用
#
是对当前页面中锚的引用(或者,在处理AJAX请求时经常用作路由方案)。使用它作为iframe的源是毫无意义的,因为iframe不引用当前页面上的内容,也不用于AJAX请求
about:blank
是显示空白文档的跨浏览器标准
2012年6月8日更新:
如果缺少src
属性,则似乎不再使iframe无效:
如果在创建元素时未设置srcdoc属性,并且
src属性也未设置或已设置,但其值无法设置
解决后,浏览上下文将保持在初始状态
关于:空白页
但是,如果未设置这两个属性,则浏览上下文将默认为
about:blank
。为了提供适当的向后兼容性,建议使用详细的内容,目前,请提供about:blank
URL。您可以在src
属性中使用about:blank
(ariel前面提到过),否则从安全页面提供服务时会抛出错误
安全页面https
会在安全网站上抛出可能不安全数据的错误。HTML 5工作草案说(强调我的):
src
属性给出
嵌套浏览的页面
上下文是要包含的。属性,
如果存在,则必须是有效的非空
URL可能被空格包围
根据,有效的URL必须以a开头,并且相对引用不能仅包含在a中
因此,#
不是有效的URL,不应用作src
属性的值
改为使用。您可以尝试通过Javascript添加iframe,这样您就不需要在HTML中使用空白的iframe: (jQuery示例)
$().ready(函数()){
$(“”).attr(“src”http://www.bbc.co.uk/)的附录(“正文”);
});
使用Javascript添加iframe允许优雅的降级-没有Javascript的用户不会看到空白的iframe。看起来您也可以完全忽略src: 如果在创建元素时,srcdoc属性未设置,并且 src属性不是也不是set就是set,但其值不能设置 解决后,浏览上下文将保持在初始状态 关于:空白页
作为about-URI方案标准的一部分,about:blank可能是最好的选择,因为它具有非常好的浏览器支持 关于:blank返回媒体类型为的空白HTML文档 文本/html和字符编码UTF-8。这被广泛用于加载 将空白页面转换为浏览上下文,例如HTML中的iFrame,这 然后可以通过脚本进行修改。 记录在案 让我们来看下一个例子(Firefox58,但可能在所有浏览器中都有)
Iframe在css之前加载,因此页面的呈现在css加载之前可见。也就是说,在一瞬间,页面看起来没有css
相反:
<link href="css.css" rel="stylesheet" type="text/css"/>
<iframe src='blank.html'></iframe>
它工作正常,css被加载,iframe最终被加载。如果您不想使用
about:blank
,您可以使用javascript作为iframe
的src
,如下示例:
<iframe name="TV" id="tv" style="width:100%; background: #800000" src="javascript:document.write('<h3>Results Window</h3>')"></iframe>
上面的示例将初始化一个褐红色背景的iframe
,该背景有一个简单的消息结果窗口
。但是,链接的目标应该等于iframe
name
属性,即在该示例中TV
注意:
某些外部网站可能会阻止从其他来源请求其页面。例如,尝试将下面示例中的超链接的URL更改为yahoo.com
或google.com
,然后签出浏览器的控制台
如果你用
调用你的iframe
javascript:WebForm_DoPostBackWithOptions(新的WebForm_PostBackOptions(VARİABLES、true、false))
在服务器端,您可以再次使用src=“”我到处都能看到
about:blank
。我相信如果你省略src
属性,浏览器默认为about:blank
。如果你将src
保留为空,浏览器就会发现。并非所有浏览器都有about:blank
@Jim,在安全页面中省略src
属性将触发在某些版本的Internet Explorer中出现了臭名昭著的“此页面包含安全和不安全项”消息。我刚刚发现jQuery将两次触发document ready事件,因为#作为src。我花了很长时间才发现;-)src='about:blank'在所有主要浏览器中都有效吗…例如7/8、FF、Safari、Chrome、,ETC IE 9使用src=“about:blank”:(@powtac是否使用src=“”执行相同操作)向服务器发送路径为“null”的请求?否,有效的非空URL必须是RFC3986第4.1节定义的有效URI引用,而不一定是有效的URI。否则,您不能将相对URL用作iframe src,这显然是胡说八道。@Mike,您是对的,#
也是无效的相对引用。答案相应更新。Javascript:URI valid?如下所示:作为旁注,如果使用#
作为src值,Chrome将“跳转”页面到iframe。想象一下
<link href="css.css" rel="stylesheet" type="text/css"/>
<iframe src='blank.html'></iframe>
<iframe name="TV" id="tv" style="width:100%; background: #800000" src="javascript:document.write('<h3>Results Window</h3>')"></iframe>