PDA

Просмотр полной версии : Кеширование и externalData


DarKDoteR
04.11.2011, 15:23
Имеем компонент Loader, который носит название news. Через externalData ставим условие, что бы загружалось изображение, например:

var externalData:LoadVars = new LoadVars()
news.contentPath = "news.jpg";

Но при замене файла news.jpg, браузер берёт старое изображение из кэша.
Смотрел статью (http://www.flasher.ru/forum/showthread.php?t=99559), в общем то так и не понял каким образом можно скомпилировать скрипт externalData с предложенным в статье.

Seroy
07.11.2011, 21:38
просто у вас вместо "news.jpg" должен всякий раз получаться другой адрес, измененный с помощью "псевдо-параметров" - например, "news.jpg?1267" или "news.jpg?p=2789". Такое можно организовать при помощи функций Math.random() или random() во Flash.

DarKDoteR
09.11.2011, 22:24
вместо "news.jpg" должен всякий раз получаться другой адрес
Ну это то понятно. Но как внедрить этот random() в вышеприведённый код, вот в чём вопрос.

mooncar
11.11.2011, 11:07
news.contentPath = "news.jpg?" + Math.random() ;

PS. Единственно что неудобно - локально такой адрес не будет отрабатываться (т.е. неудобно при разработке, если не принять мер). Лечится проверкой в начале коде - откуда идет загрузка флешки, и в зависимости от этого рандомный суффикс к url добавляется или нет.

DarKDoteR
19.11.2011, 09:29
news.contentPath = "news.jpg?" + Math.random() ;
Полагаете?
Ошибка при открытии URL-адреса 'news.jpg0.318249277304858'
Кто бы сомневался ...

DarKDoteR
19.11.2011, 09:35
Всё, решил проблему, получается:
news.contentPath = "news.jpg?rnd=" + Math.random();
Всем спасибо. Помогли.