没有src属性的iframe

问题描述 投票:25回答:10

我想在页面上创建一个<iframe>,但是稍后再添加src。如果我制作的iframe没有src属性,那么它将在某些浏览器中加载当前页面。为src设置的正确值是什么,以便它仅加载空白iframe?

我看到的答案是:

  • about:blank
  • javascript:false
  • javascript:void(0)
  • javascript:"";
  • URL到空白页

有明显的赢家吗?如果没有,那要权衡些?

我不希望从IE6开始的所有浏览器中都有HTTPS url的混合内容警告,也没有任何后退按钮,历史记录或重新加载怪异。

javascript html iframe src
10个回答
7
投票

创建“空” iframe(例如,作为iframe垫片)时的标准方法是将src设置为javascript:false;。这是大多数JavaScript库为您创建iframe垫片的方法(例如YUI的叠加层)。


0
投票

我遇到了这一行代码:


10
投票

不确定所有的浏览器是否都支持“ about:blank”,所以我只用自己的空白页。

另一个想法:为什么不使用JavaScript而不是仅使用src添加整个iframe?


6
投票

[发表评论以澄清您打算使用iframe作为表单提交的目标:

我将在发送回204 no content的服务器上使用空文档。

避免

  • IE和HTTPS模式下的“混合内容”警告
  • 不必要的错误,因为客户端不了解javascript:协议
  • 和其他奇特的恶作剧。

也是有效的HTML。

那么,如果它产生一个额外的请求怎么办?正确设置缓存头,每个客户端将只有一个请求。


5
投票

关于

about:blank

2
投票

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动态更新时发生变化


1
投票

[javascript:false可在现代浏览器中使用。

我所看到的是,当哑蜘蛛试图将javascript:false作为页面加载时,这仅“失败”。

解决方案:阻止哑蜘蛛。


1
投票

正如我在此问题中发布的:Is an empty iframe src valid?,仅完全省略src=属性似乎可以接受。


0
投票

IMO:如果您不输入src,则您的页面将无法验证。但是关于它。如果放置src =“”,则服务器将记录许多404错误。


0
投票

是,我知道我正在恢复旧线程。告我。我对答案很感兴趣。

© www.soinside.com 2019 - 2024. All rights reserved.