我想在页面上创建一个<iframe>
,但是稍后再添加src
。如果我制作的iframe没有src
属性,那么它将在某些浏览器中加载当前页面。为src
设置的正确值是什么,以便它仅加载空白iframe?
我看到的答案是:
about:blank
javascript:false
javascript:void(0)
javascript:"";
有明显的赢家吗?如果没有,那要权衡些?
我不希望从IE6开始的所有浏览器中都有HTTPS url的混合内容警告,也没有任何后退按钮,历史记录或重新加载怪异。
创建“空” iframe(例如,作为iframe垫片)时的标准方法是将src设置为javascript:false;
。这是大多数JavaScript库为您创建iframe垫片的方法(例如YUI的叠加层)。
我遇到了这一行代码:
不确定所有的浏览器是否都支持“ about:blank”,所以我只用自己的空白页。
另一个想法:为什么不使用JavaScript而不是仅使用src添加整个iframe?
[发表评论以澄清您打算使用iframe作为表单提交的目标:
我将在发送回204 no content
的服务器上使用空文档。
避免
javascript:
协议也是有效的HTML。
那么,如果它产生一个额外的请求怎么办?正确设置缓存头,每个客户端将只有一个请求。
关于
about:blank
javascript:false
:IE10和FF(在Linux中的v23中选中)将显示“ false”作为内容。
javascript:void(0)
&& javascript:;
:IE会在iframe中显示“无法显示网页”错误。另外,将src从有效URL设置为javascript:void(0)
时,页面不会空白。
about:blank
:在所有浏览器中均可使用,但IE 9将请求发送到路径为“ null”的服务器。 IMO仍然是最好的选择
结帐http://jsfiddle.net/eybDj/1结帐http://jsfiddle.net/sv_in/gRU3V/,查看iframe src如何在使用JS动态更新时发生变化
[javascript:false
可在现代浏览器中使用。
我所看到的是,当哑蜘蛛试图将javascript:false
作为页面加载时,这仅“失败”。
解决方案:阻止哑蜘蛛。
正如我在此问题中发布的:Is an empty iframe src valid?,仅完全省略src=
属性似乎可以接受。
IMO:如果您不输入src,则您的页面将无法验证。但是关于它。如果放置src =“”,则服务器将记录许多404错误。
是,我知道我正在恢复旧线程。告我。我对答案很感兴趣。