Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 04.11.2008, 23:06
alex_past вне форума Посмотреть профиль Отправить личное сообщение для alex_past Найти все сообщения от alex_past
  № 11  
Ответить с цитированием
alex_past

Регистрация: Nov 2008
Сообщений: 7
Цитата:
Сообщение от iNils Посмотреть сообщение
Я конечно согласен, что контроль должен быть со стороны сервера, однако...

1. Большинство задающих такие вопросы, либо о пхп не знают, либо не имеют возможности его использовать, либо не имеют возможности контролировать, что и как заказчик будет использовать.

2. Вопросы сервер-сайда должны решаться серверными программистами. А флеш клиентское приложение, поэтому в первую очередь здесь предполагают решение проблемы на стороне клиента.
Тогда и я, конечно, дико извиняюсь , но все это легко решабельно даже исключительно на клиентской стороне, без таких жертв, как всегда мувик перекачивать - надо или нет.
Навскидку, только что придуманный способ. Сразу говорю, он топорный и лобовой. Можно подумать час и найти сотню вариантов лучше и красивее. Но просто как демонстрация возможности:

- Разработчик флешек знает, когда он флешку переделал и перезаливает на хост? Знает.
- Кто ему мешает ручками или простейшим bat-файлом у себя на локальном компе до заливки на хост к имени файла дописывать суффикс (например, циклически меняя цифру от 0 до 3? То есть, версии файла game.swf называть по очереди game_0.swf, game_1.swf, game_2.swf, game_3.swf, и опять game_0.swf...) Никто не мешает. Наоборот, это ему же жизнь облегчит, и путаницу с одними и теми же файлами разных версий уменьшит. Диапазон значений суффикса будет зависеть от прогнозируемой частоты перезаливок - так, чтобы полный "оборот" проходился заведомо дольше экспайра этого файла.
При заливке нового файла на хост - старую, уже ненужную версию обязательно удаляем. Обращаю на это внимание потому, что теперь имена не совпадают и сама она не убъется.
- А в корневой флешке грузим не game.swf, а пытаемся в цикле грузить
for (i=3; i>=0; i--) ... ("game_"+i+".swf"), пока не перестанем получать 404.

Вот и все. Если файл менялся - он скачается с хоста. Если нет - браузер его из локального кеша отдаст.

P.S. Цикл for (i=3; i>=0; i--) выглядит необычно. Дело в том, что они с циклом номеров версий должны идти "в разные стороны". Это принципиально, иначе кривые браузеры вроде safari и не почешутся стукнуть на сервер, а просто пошарят в локальном кеше, найдут там предыдущую, не успевшую устареть (в смысле, с непросроченным экспайром) версию и радостно втюхают нам вместо новой, которую мы на сервер положили
[Да, я знаю, что браузер обязан кеш сверить с сервером, хотя бы на предмет наличия файла, перед тем как нам совать кешированный файл. Но я сто раз видел, как сафари на это правило плюет ]


Последний раз редактировалось alex_past; 05.11.2008 в 00:41.
Создать новую тему   Часовой пояс GMT +4, время: 16:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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