JavaScript: Запросы Изображения отмены/Остановки

Если у вас есть доступ к шаблону, вы можете отобразить его, у него есть скрытое поле со следующим кодом:

{{ form.field_name.as_hidden }}

вместо стандартного:

{{ form.field_name }}
41
задан frio80 30 May 2009 в 18:07
поделиться

4 ответа

У меня была точно такая же проблема, когда пользователи быстро «пролистывали» результаты поиска (ajax), браузер все еще пытался загрузить изображения профиля для каждой страницы, а не только для текущей. Этот код работал у меня, вызывая событие разбиения по страницам непосредственно перед запуском нового поиска:

//cancel image downloads
if(window.stop !== undefined)
{
     window.stop();
}
else if(document.execCommand !== undefined)
{
     document.execCommand("Stop", false);
}

По сути, это похоже на нажатие кнопки «Стоп» в браузере.

Протестировано в IE, FireFox, Chrome, Opera и Safari

56
ответ дан 27 November 2019 в 00:48
поделиться

Предполагая, что вы используете ajax для загрузки изображений, вы можете просто прервать запрос в событии window.onunload . Объявите глобальную переменную для объекта XMLHttpRequest, который вы используете.

var xhr;
//if using the XMLHttpRequest object directly
//you may already be doing something like this
function getImage(...){
  xhr = new XMLHttpRequest();
  xhr.open(....);
}

при использовании jQuery вы можете присвоить возвращаемое значение вызова $ .ajax () или $ .get переменной xhr.

xhr = $.ajax(.....);

Обработать окно. onunload и прервать запрос.

window.onunload = function(){
  xhr.abort();
}
2
ответ дан 27 November 2019 в 00:48
поделиться

Плохое решение - просто установить для свойства SRC тега изображения пустую строку или указать ее на виджет.

edit

Увидел ваш комментарий, удивился, что он не работает с изменением свойства SRC на пустое ... попробуйте использовать blank.gif или что-то в этом роде.

Если это не сработает, вы можете быть ограничены архитектурой браузера, означает, что вы СОЛ

-3
ответ дан 27 November 2019 в 00:48
поделиться

Переназначение тега SRC другому образу не работает в IE7, он продолжает попытки загрузить первый образ.

Вот настройка:

Я создал обработчик HTTP, который имеет тип JPEG. Он содержит код, выполнение которого никогда не прекращается. Итак, someImage.src = myhandler.ashx будет постоянно сидеть и загружаться, пока не истечет время ожидания.

В середине этого нажмите другую кнопку, которая переназначает изображение на небольшой файл изображения: someImage.src = small.jpg

Запрос myhandler.ashx не заканчивается, хотя мы переназначили src.

Более того, если вы действительно удалите узел, someImage.parentNode.removeChild (someImage) все еще пытается загрузить myhandler.ashx

Протестировано с IE7 и отслеживается с помощью HTTP Watch Pro.

0
ответ дан 27 November 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: