Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Обновление файлов на сервере (http://www.flasher.ru/forum/showthread.php?t=90595)

darkzip 15.01.2007 04:01

Обновление файлов на сервере
 
В общем вопрос прост - как запретить кэшировать (или заставить каждый раз заново подгружать) флэшки! Причем у меня 1 htm документ, там основная флэшка, в которую грузятся другие. Как это всё заставить обновляться каждый раз?? Форум читал, но так и не нашел понятного решения. Ведь многие сайты как-то решили этот вопрос!?

Kikasso 15.01.2007 05:22

попробуй вместо "somefile.swf"
грузить "somefile.swf" + "?" + Math.random();
меняется урл - файл грузится заново.
Если список файлов вам выдает php, можно сделать хитрее - после вопроса передавать время последней модификации файла. В таком случае файл грузится заново, только если он обновился.
А вообще вопрос не нов, поройтесь на форуме.

darkzip 15.01.2007 05:27

Да я смотрел форум, решений так и не нашел хороших. Да и протестировать такое ведь сложновато, поэтому и ищу ТОЧНО хорошее решение.

А куда этот код вписывать надо?

P.S. никакого php нет, там тупо в html подгружается swf а в него другие. Хотелось бы, чтоб и они тоже заново подгружались...

Kikasso 15.01.2007 05:51

Цитата:

Сообщение от darkzip
А куда этот код вписывать надо?

Во флеше. Для броузера "somefile.swf?12345" и "somefile.swf?54321" разные файлы. Если не сработает рэндом (хотя по идее должен), дописывай ну допустим текущее время.
Код:

var fileLocation:String = "somefile.swf";
var fileToLoad:String = fileLocation + "?" + (new Date()).getTime();

Если все еще неясно, приложи кусочек кода, где ты файлы грузишь.

darkzip 15.01.2007 07:19

я так понимаю делать надо так:

Код:

_root.name.loadMovie('"somefile.swf" + "?" + Math.random();');
Верно? Не работает!((


А как запретить кэширование самого главного swf? (который в html подгружается).

Kikasso 15.01.2007 10:37

Цитата:

Сообщение от darkzip
я так понимаю делать надо так:

_root.name.loadMovie('"somefile.swf" + "?" + Math.random();');

Верно? Не работает!((

слишком много кавычек.
Код:

_root.name.loadMovie( "somefile1.swf" + "?" + Math.random() );
//или
_root.name.loadMovie( "somefile3.swf" + "?" + (new Date()).getTime() );

если первый не сработает, используйте третий. (upd: в смысле второй )

Цитата:

А как запретить кэширование самого главного swf? (который в html подгружается).

поищите на форуме по словам "запрет кеширования", точно найдете. Принцип тот же, только случайное число впечатывает джаваскрипт.
Для этого идеально подойдет sfwobject (поиск)

silin 15.01.2007 10:51

Код:

_root.name.loadMovie("somefile.swf" + "?val=" + Math.random());

Kikasso 15.01.2007 11:53

Цитата:

Сообщение от silin
_root.name.loadMovie("somefile.swf" + "?val=" + Math.random());

необязательно. Мы же не собираемся потом это парсить.


Часовой пояс GMT +4, время: 15:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.