如何使用Javascript刷新IFrame?

Rol*_*and 109 javascript iframe

我有一个带有IFrame和Button的网页,按下按钮后我需要刷新IFrame.这有可能,如果是这样的话怎么样?我搜索过,找不到任何答案.

kja*_*llo 130

var iframe = document.getElementById('youriframe');
iframe.src = iframe.src;
Run Code Online (Sandbox Code Playgroud)

  • `var tmp_src = iframe.src; iframe.src =''; iframe.src = tmp_src;` (8认同)
  • 在这个版本的Chrome中它适用于我:`版本24.0.1312.56 Ubuntu 12.04(24.0.1312.56-0ubuntu0.12.04.1) (2认同)
  • 仅供参考 - 目前(截至2013年1月)有一个Chromium项目错误(https://code.google.com/p/chromium/issues/detail?id=172859),它会导致iframe更新添加到文档历史记录中. (2认同)
  • 这在 chrome 中对我来说非常有用`document.getElementById('frame_id').contentDocument.location.reload(true);` (2认同)

nfe*_*ner 96

这应该有所帮助:

document.getElementById('FrameID').contentWindow.location.reload(true);
Run Code Online (Sandbox Code Playgroud)

编辑:根据@ Joro的评论修正了对象名称.

  • 这不适用于具有不同来源(协议,主机名或端口)的iframe. (12认同)
  • 这在IE9中不起作用.您应该使用contentWindow而不是contentDocument. (3认同)

Hor*_*mir 13

如果iframe是从同一个域加载的,你可以这样做,这更有意义:

iframe.contentWindow.location.reload();
Run Code Online (Sandbox Code Playgroud)


Mar*_*lek 6

适用于IE,Mozzila,Chrome

document.getElementById('YOUR IFRAME').contentDocument.location.reload(true);
Run Code Online (Sandbox Code Playgroud)


小智 5

你可以使用这个简单的方法

function reloadFrame(iFrame) {

    iFrame.parentNode.replaceChild(iFrame.cloneNode(), iFrame);

}
Run Code Online (Sandbox Code Playgroud)