я загружаю (большие) изображения динамически рисовать в html5 холст, что-то вроде этого:Отменить запрос одного изображения в html5 браузерах
var t = new Image();
t.onload = ...
t.src = 'http://myurl';
Но каждый раз в то время хотел бы отменить изображение запросите полностью.
Единственный способ, которым я придумал, - установить src
на ''
. т.е.
t.src = ''
Это работает во многих браузерах, но это, кажется, что только Firefox фактически отменяет запрос HTTP для изображения.
Я проверил это с помощью Fiddler2, отключив кеширование и включив «эмулировать скорость модема». Затем выполните a fiddle to test canceling a image request. (я бы хотел услышать другие идеи о том, как это проверить)
Я знаю, что есть способы отменить все запросы (as in this question), но я хотел бы только отменить его.
Любые идеи по другим способам (особенно на мобильных браузерах) для этого?
Будьте осторожны с 't.src = ''', спецификация неясна в отношении того, что должно произойти. См. Http://www.nczonline.net/blog/2009/11/30/empty-image-src-can-destroy-your-site/ –
Правильно ... некоторые из браузеров делают запросы на URL страницы (или base url), чтобы попытаться загрузить изображение с помощью 'src = '''. В Firefox установка 't.src = null' также отменяет запрос, но ничего не делает на других. Более новая (текущая работа) спецификация, говорит (в некоторых ситуациях), что [она должна запускать onerror] (http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1 .html # update-the-image-data) ... kindof. – Amir
Установка 'src' встроенного изображения в Firefox также отменяет предыдущий запрос:' t.src = 'data: image/gif; base64, R0lGOD ... 'видеть его в [этой скрипке] (http: // jsfiddle. net/amirshim/F4HbT/21 /) – Amir