А можно ли остановить загрузку конкретной каритинки Javascript

Из области фантастики конечно, но вдруг…
Понятно что можно остановить загрузку всей страницы stop() и тогда все загрузки тоже отвалятся,
но это не то что нужно, нужно сказать стоп конкретной картинке если она слишком долго грузится.

Решение найдено.
Вот его автор paaashka
Реально помог довести наш скрипт до идеала.
Потратил на меня кучу времени но добил таки его, на чистом JS
  • Вопрос задан
  • 5748 просмотров
Решения вопроса 1
А если для картинки динамически создавать iframe с ней, и если не пришло событие из айфрейма о том, что картинка загрузилась, то удалять айфрейм вместе с картинкой? Сейчас попробовал — при удалении айфрейма, загрузка картинки останавливается.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
JeanLouis
@JeanLouis
Можно попробовать два варианта.

Первый, очевидный, что-то сделать с самой картинкой (img), изменить атрибут src, преобразовать в другой тег. Но скорее всего это не работает, поэтому вы и спрашиваете.

Второй, теоретически возможный вариант. Это сделать ajax запрос к нужной картинке и в нужный момент вызвать метод abort объекта XMLHttpRequest (например, функция jQuery $.ajax возвращает подобный объект). Таким образом, если предположить, что браузер кеширует запросы, картинка может оказаться в кеше в случае успешного выполнения. Это нужно проверить.
Ответ написан
nikitammf
@nikitammf
У картинки есть событие «onabort». Может попробывать его тригерировать( img.fireEvent(«abort»))?
Ответ написан
sedictor
@sedictor
Функцию loadedImg удаляет загруженный img из массива еще незагруженных.
Через полминуты, всем незагруженным изображениям меняется src, тем самым прекращая загрузку
var notLoadedImgs = $('img');
$('img').load(function() {loadedImg(this);}); // loadedImg excludes img from notLoadedImgs
setTimeout(function() {
    $(notLoadedImgs).attr('src', '404');
}, 30000);
Ответ написан
sedictor
@sedictor
$('img').execCommand("Stop", false);

может так?
Ответ написан
sedictor
@sedictor
А попробуйте не менять src, а вообще его убирать removeAttr('src')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект