如何刷新使用JavaScript的IFrame?

我有一个IFrame和一个button的网页,一旦按下button,我需要刷新IFrame。 这是可能的,如果是这样的话? 我search,找不到任何答案。

var iframe = document.getElementById('youriframe'); iframe.src = iframe.src; 

这应该有所帮助:

 document.getElementById('FrameID').contentWindow.location.reload(true); 

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

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

iframe.contentWindow.location.reload();

适用于IE,Mozzila,Chrome

 document.getElementById('YOUR IFRAME').contentDocument.location.reload(true); 

从这里得到这个

 var f = document.getElementById('iframe1'); f.src = f.src; 

这里是HTML片段:

 <td><iframe name="idFrame" id="idFrame" src="chat.txt" width="468" height="300"></iframe></td> 

和我的Javascript代码:

 window.onload = function(){ setInterval(function(){ parent.frames['idFrame'].location.href = "chat.txt"; },1000);} 

如果你在页面中有多个iFrame,那么这个脚本可能是有用的。 我认为在iFrame源代码中有一个特定的值可以用来查找特定的iFrame。

 var iframes = document.getElementsByTagName('iframe'); var yourIframe = null for(var i=0; i < iframes.length ;i++){ var source = iframes[i].attributes.src.nodeValue; if(source.indexOf('/yourSorce') > -1){ yourIframe = iframes[i]; } } var iSource = yourIframe.attributes.src.nodeValue; yourIframe.src = iSource; 

用你需要的值replace“/ yourSource”。

如果您的iframe的url不变,您可以重新创build它。

如果您的iframe不是来自同一个来源(协议模式,主机名和端口),您将无法知道iframe中的当前URL,因此您需要在iframe文档中使用脚本与其父窗口交换消息该页面的窗口)。

在iframe文件中:

 window.addEventListener('change', function(e) { if (e.data === 'Please reload yourself') { var skipCache = true; // true === Shift+F5 window.location.reload(skipCache); } } 

在你的页面中:

 var iframe = document.getElementById('my-iframe'); var targetOrigin = iframe.src; // Use '*' if you don't care iframe.postMessage('Please reload yourself', targetOrigin); 

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

 function reloadFrame(iFrame) { iFrame.parentNode.replaceChild(iFrame.cloneNode(), iFrame); } 

直接重置src属性:

 iframe.src = iframe.src; 

使用时间戳复位src以caching清除:

 iframe.src = iframe.src.split("?")[0] + "?_=" + new Date().getTime(); 

在查询string选项时清除src选项是不可能的(数据URI):

 var wasSrc = iframe.src iframe.onload = function() { iframe.onload = undefined; iframe.src = wasSrc; } 

你可以使用这个:

JS:

 function refreshFrame(){ $('#myFrame').attr('src', "http://blablab.com?v="); } 

HTML:

 `<iframe id="myFrame" src=""></iframe>` 

JS小提琴: https : //jsfiddle.net/wpb20vzx/