在加载页面的过程中,javascript中是否有停止iframe的方法?我需要这样做的原因是我有一个来自Web服务器的后台iframe流数据(通过Comet样式机制),我需要能够随意切断连接。
欢迎任何想法。
答案 0 :(得分:31)
对于FireFox / Safari / Chrome,您可以使用window.stop():
window.frames[0].stop()
对于IE,您可以使用document.execCommand('Stop')执行相同的操作:
window.frames[0].document.execCommand('Stop')
对于跨浏览器解决方案,您可以使用:
if (navigator.appName == 'Microsoft Internet Explorer') {
window.frames[0].document.execCommand('Stop');
} else {
window.frames[0].stop();
}
答案 1 :(得分:13)
整个代码应该是这样的,(unclenorton的行没有括号)
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);
}
答案 2 :(得分:1)
仅仅,
document.getElementById("myiframe").src = '';
答案 3 :(得分:0)
1)获取您不想加载的iframe或img:
let myIframe = document.getElementById('my-iframe')
2)然后你可以将src属性替换为about.blank:
myIframe.src = 'about:blank'
就是这样。
如果您想在某个事件发生时一次性加载iframe或图像,那么只需将src变量存储在dataset中:
myIframe.dataset.srcBackup = myIframe.src
// then replace by about blank
myIframe.src = 'about:blank'
现在您可以在需要时轻松使用它:
myIframe.src = myIframe.dataset.srcBackup
答案 4 :(得分:0)
如果仅对元素进行引用,则需要使用.contentX
来获取document
/ window
来运行接受的答案。
对于动态添加的iframe元素,也需要检查iframe实际是否有文档。
function stopIframe(element) {
var doc = element.contentDocument;
//iframes wont have a document if they aren't loading/loaded
//check so JS wont throw
if (!doc)
return;
//try for modern browsers
if (doc.defaultView.stop)
doc.defaultView.stop();
//fallback for IE
else
doc.execCommand('Stop');
}
答案 5 :(得分:-1)
不支持IE
<script>
function stopit() {
window.stop();
};
</script>
<a href="#" onclick="stopit()" class="Stop" title="Stop"></a>