有没有在JavaScript中加载页面时停止iframe的方法?我需要这样做的原因是我有一个来自web服务器的背景iframe流式数据(通过Comet风格机制),我需要能够随意切断连接。停止使用javascript加载页面的iframe
任何想法欢迎。
有没有在JavaScript中加载页面时停止iframe的方法?我需要这样做的原因是我有一个来自web服务器的背景iframe流式数据(通过Comet风格机制),我需要能够随意切断连接。停止使用javascript加载页面的iframe
任何想法欢迎。
对于Firefox/Safari /铬可以使用window.stop():
window.frames[0].stop()
对于IE,你可以做同样的事情document.execCommand( '停止'):
window.frames[0].document.execCommand('Stop')
对于一个跨浏览器的解决方案,您可以使用:
if (navigator.appName == 'Microsoft Internet Explorer') {
window.frames[0].document.execCommand('Stop');
} else {
window.frames[0].stop();
}
这可能是更好的检查'typeof(window.frames [0] .stop)'而不是'navigator.appName'。未来的IE版本可能会支持。 – unclenorton 2011-07-10 13:34:50
@unclenorton我真的不明白你想说什么。你可以写出条件? – 2012-02-14 01:17:27
@MorSela,我想说,最好是检查一个功能,而不是浏览器。该条件看起来像'(typeof(window.frames [0] .stop ==='undefined')'。 – unclenorton 2012-03-01 06:22:49
整个代码应该是这样的,(unclenorton的一行丢失了胸罩cket)
if (typeof (window.frames[0].stop) === 'undefined'){
//Internet Explorer code
setTimeout(function() {window.frames[0].document.execCommand('Stop');},1000);
}else{
//Other browsers
setTimeout(function() {window.frames[0].stop();},1000);
}
为什么'setTimeout'使用? – Nishi 2016-04-22 13:16:09
只是,
document.getElementById("myiframe").src = '';
在IE浏览器不支持
<script>
function stopit() {
window.stop();
};
</script>
<a href="#" onclick="stopit()" class="Stop" title="Stop"></a>
请看看接受的答案,我认为这与你发布的内容相当 – Marged 2015-06-15 21:48:48
1)获取iframe或的img你不”要加载:
let myIframe = document.getElementById('my-iframe')
2)然后,只需更换src属性about.blank:
myIframe.src = 'about:blank'
这就是全部。
如果你想在一个时间来加载iframe或图片的功能,当一些事件发生,然后只储存在dataset的SRC变量:
myIframe.dataset.srcBackup = myIframe.src
// then replace by about blank
myIframe.src = 'about:blank'
现在需要轻松时,你可以使用它:
myIframe.src = myIframe.dataset.srcBackup
没有足够的信心把它作为答案,但你不能只是将iframe指向另一个url?就像'document.getElementById(“myiframe”)。src =“http://www.example.com/not-long-polling.html”;' – 2010-02-05 13:45:36
这是我的第一个想法(+1),但我需要要保存的帧的内容。 – Konrad 2010-02-05 13:58:19