Остановка загрузки страницы iframe с помощью javascript
Есть ли в javascript способ остановить iframe в середине загрузки страницы? Причина, по которой мне нужно это сделать, заключается в том, что у меня есть фоновый iframe потоковых данных с веб-сервера (через механизм стиля Comet), и я должен быть в состоянии разорвать соединение по желанию.
Любые идеи приветствуются.
6 ответов:
Для FireFox / Safari / Chrome вы можете использовать окно.stop ():
window.frames[0].stop()Для IE вы можете сделать то же самое с документом.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(); }
Весь код должен быть таким, (в строке 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); }
Очень просто:
1) получите iframe или img, которые вы не хотите загружать:
let myIframe = document.getElementById('my-iframe')2) тогда вы можете просто заменить атрибут src на about.пробел:
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
Если у вас есть только ссылка на элемент, вам нужно использовать
.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'); }
Не поддерживается в IE
<script> function stopit() { window.stop(); }; </script> <a href="#" onclick="stopit()" class="Stop" title="Stop"></a>
Comments