没有src属性的iframe

Pau*_*jan 25 html javascript iframe src

我想<iframe>在页面上创建一个,但后来添加src.如果我创建一个没有src属性的iframe ,那么它会在某些浏览器中加载当前页面.设置的正确值src是什么,只是加载一个空白的iframe?

我见过的答案是:

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

有明显的赢家吗?如果没有,有什么权衡?

我想在IE6以后的所有浏览器中都没有针对HTTPS网址的混合内容警告,也没有任何后退按钮,历史记录或重新加载奇怪的内容.

Mar*_*rio 10

不确定所有浏览器是否支持"about:blank",所以我只想使用您自己的空白页面.

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


小智 7

创建"空"iframe(例如,作为iframe垫片)时的标准方法是将src设置为javascript:false;.这是为您创建iframe填充程序的大多数JavaScript库使用的方法(例如YUI的Overlay).

  • 这可能适用于所有浏览器,但如果网站不允许在其 `Content-Security-Policy` 标头中使用内联 javascript,则会中断。因此,请不要在您希望其他方将其包含在其站点中的脚本中使用它。 (2认同)

Pek*_*ica 6

重新评论,澄清您计划使用iframe作为表单提交的目标:

我会在发送回来的服务器上使用一个空文档204 no content.

它避免了

  • IE和HTTPS模式下的"混合内容"警告
  • 由于客户端不理解javascript:协议而导致不必要的错误
  • 和其他异国情调的恶作剧.

它也是有效的HTML.

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