Surzhikov
@Surzhikov
Разработчик

Как удалить изображение из ресурсов браузера?

Вводные данные:
Есть приложение на HTML5 + JS
В нем раз 3 секунды обновляются несколько картинок.

Обновляются с помощью подстановки случайного числа в конце url:
$(".pluginImage").each(function(i,item){
var src=$(item).attr('src');
$(item).attr('src','');
$(item).attr('src',src.split("?")[0] + "?" + Math.random());
}

Картинки векторные (svg) размером примерно по 2кб
И при каждом обновлении они (как я понимаю) остаются в ресурсах браузера.

f18f0af1224b4c77b8fae3db41e7b797.png

Через некоторое время (а приложение подразумевает длительную работу) , особенно если вкладок с приложением открыто несколько, понятно что случается:
194a099525a64e2bb35e09f79944365a.png
Вкладка сообщает что не хватает памяти

Есть ли способ не плодить изображения в ресурсах (с применением только JS, что-то вроде принудительного удаления из кеша)?
  • Вопрос задан
  • 3027 просмотров
Пригласить эксперта
Ответы на вопрос 2
tzlom
@tzlom
Тебе надо отслеживать не запросы а память, соответственно она у тебя растёт из за того что браузер не освобождает ресурсы картинки - возможно ты на них ещё как-то ссылаешься
Ответ написан
Комментировать
@dyvniy
У меня тоже падает.
Создаю локальную переменную
var img = Image();
Добавляю ей функцию onLoad и задаю src.
После исполнения данной функции картинка копируется в Canvas и больше не нужна - но память браузера съедает. Больше никто на неё не ссылается, но память не освобождается. Может её нужно как-то корректно почистить?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы