Показать сообщение отдельно
Старый 26.08.2009, 00:54
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
В любой URL, как я сказал, для предотвращения кэширования, можно добавить динамическую составляющую.

Код AS1/AS2:
zagruzkateksta_xml.load('otAvtora.xml?r=' +  Math.random());
Добавлено через 9 минут
Я же делаю так. Поскольку приходится тестировать не сразу на хосте, а этот суффикс помешает работе с файлом локально, в каждый проект, в первом кадре на _root у меня вписывается определение этого суффикса:
Код AS1/AS2:
// узнаем, локально или из инета грузится флеш 
var loadMode:String = this._url.substr(0, 4);
 
if (loadMode == 'http') {
	suffix = '?r=' + Math.random();
}
else {
	suffix = '';
}
Если загрузка происходит с локального диска (запущена swf-ка напрямую или тестируем), то
Код AS1/AS2:
this._url.substr(0, 4);
нам вернет значение "file", и суффикс будет пустой.

Потом, в любом месте, где нужно загрузить файл, я пишу не чистый URL, а URL файла с суффиксом:
Код AS1/AS2:
fileUrl = 'data.txt';
fileUrl  += suffix;
this.load(fileUrl);
или сразу:
Код AS1/AS2:
this.load('data.txt' + suffix);
Таким образом, флешка будет знать, добалять или нет динамически меняющуюся составляющую в URL в зависимости от того, загружена она локально, или с сервера в интернете.
Метод дает удобство:
Не нужно всякий раз перелопачивать код на предмет добавления Math.rand() к путям и перекомпилировать ее заново, когда флешка подготавливается для заливки на хост.


Последний раз редактировалось mooncar; 26.08.2009 в 01:20.