Answers:
var iframe = document.getElementById('youriframe');
iframe.src = iframe.src;
Version 24.0.1312.56 Ubuntu 12.04 (24.0.1312.56-0ubuntu0.12.04.1)
var tmp_src = iframe.src; iframe.src = ''; iframe.src = tmp_src;
document.getElementById('frame_id').contentDocument.location.reload(true);
这应该有助于:
document.getElementById('FrameID').contentWindow.location.reload(true);
编辑:固定对象名称按照@Joro的注释。
reload(true)
可以使用以下方法代替它:document.getElementById('FrameID').contentWindow.location.replace(new_url);
适用于IE,Mozzila,Chrome
document.getElementById('YOUR IFRAME').contentDocument.location.reload(true);
您可以使用这种简单的方法
function reloadFrame(iFrame) {
iFrame.parentNode.replaceChild(iFrame.cloneNode(), iFrame);
}
从这里得到这个
var f = document.getElementById('iframe1');
f.src = f.src;
如果您使用哈希路径(例如mywebsite.com/#/my/url),则可能无法在切换哈希时刷新帧:
<script>
window.onhashchange = function () {
window.setTimeout(function () {
let frame = document.getElementById('myFrame');
if (frame !== null) {frame.replaceWith(frame);}
}, 1000);
}
</script>
不幸的是,如果您不使用超时,则JS可能会尝试在页面加载完内容之前(因此加载旧内容)替换框架。我尚不确定解决方法。
如果页面内有多个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;
将“ / yourSource”替换为所需的值。
如果iframe的URL不变,则可以重新创建它。
如果您的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);
您可以使用此:
Js:
function refreshFrame(){
$('#myFrame').attr('src', "http://blablab.com?v=");
}
HTML:
`<iframe id="myFrame" src=""></iframe>`
JS小提琴:https : //jsfiddle.net/wpb20vzx/