Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Очистка памяти, отмена загрузки картинки, отмена события. (https://javascript.ru/forum/misc/51067-ochistka-pamyati-otmena-zagruzki-kartinki-otmena-sobytiya.html)

kostyanet 23.10.2014 12:26

В смысле старую что ли покажет? Покажет новую, ну, когда загрузится. То есть они все полезут, но останется-то последняя. Так что вот и аборт. Кроме того как отменить заголовок который уже ушел? Закрыть браузер или послать новый.

Народ такой фигней не страдает, от кого ТС заразился? Кладите, клиент жирный нынче, не то что некоторые серверы.

danik.js 23.10.2014 12:30

Цитата:

Сообщение от kostyanet
Так что вот и аборт

Нет никакого аборта. Вот в xhr есть xhr.abort(). А у картинки нету. Поставишь новый src - а старый все равно грузиться будет.
Цитата:

Сообщение от kostyanet
Кроме того как отменить заголовок который уже ушел?

Ушел ну и хуй с ним. Просто закрываем соединение. Почему-то в xhr нет такой проблемы )

zhurchik 23.10.2014 12:45

Цитата:

Сообщение от kostyanet (Сообщение 337077)
Пользователь нажал не дожидаясь, значит var img = document.createElement('img'); img.src = Адрес новой картинки вот и весь аборт.

Ааа, у меня на данном этапе с каждым кликом на стрелочку "далее" объект img пересоздается. ПОлучается нужно один раз создать
var img = document.createElement('img'); а потом просто в атрибут src подставлять новый адрес?

zhurchik 23.10.2014 12:47

Цитата:

Сообщение от danik.js
Насколько я знаю не будет никакого аборта. Есть даже такой код для прелоада картинок:

Получается, что картинка в любом случае догружаться будет в фоновом режиме?

ksa 23.10.2014 13:33

Цитата:

Сообщение от zhurchik
А как система поймет, что метод отработал?

Встретит return или "окончательный" символ } :)

kostyanet 23.10.2014 13:46

Цитата:

Сообщение от danik.js
старый все равно грузиться будет

Будет, в кеш, ну и х й с ним.

kostyanet 23.10.2014 13:48

Цитата:

Сообщение от zhurchik
ПОлучается нужно один раз создать
var img = document.createElement('img'); а потом просто в атрибут src подставлять новый адрес?

Один раз сработает, а по второму кругу в Хроме пойдет последня картинка, ибо этот хитрожопый браузер не генерит onload если оно уже в кеше. А на пустом объекте - после загрузки туда из кеша - генерит.

Блин, не про то написал. Так у вас так и сделано - канонично что называется. То есть когда новый src втыкается - хренакс и старой картинки не видно, пока новая загружается. Поэтому делают через буфер - через new Image().


Часовой пояс GMT +3, время: 10:06.