Просмотр полной версии : Запретить кэширование
Никак не получается запретить кэширование флеш(флеш при каждой загрузке разный, хотя имя файла swf одно и то же). Подскажите пожалуйста как это можно сделать?
На будущее - тему нужно называть более информативно, иначе она будет закрыта.
По существу:
Все зависит от ваших целей - если вам как разработчику неудобно, то для начала можно отключить кэширование в браузере.
У меня сайт, нужно отключить кэширование для всех пользователей, а не лично у меня в браузере.
Это не помогло никак:
<meta http-equiv="Cache-Control" content="no-cache" />
всё равно флеш обновляется где-то раз в час
флеш при каждой загрузке разный, хотя имя файла swf одно и то же
SWF генерируется на сервере?!
Просто обычно практика такая, что меняются только данные (запросы к скриптам, к картинкам, XML и т.д.), но сама флешка всегда одна и та же.
В этом случае к URL добаляется рандомный суффикс, тогда кэш игнорируется.
Попробуйте так в коде вставки, везде, где указано имя ролика:
movie.swf?<?php echo rand() ?>
Если скриптовый процессор не PHP, то используйте аналогичную рандомную добавку.
флеш при каждой загрузке разный, хотя имя файла swf одно и то же
Кэш браузера обычно слабо ориентируется именно на имя файла. Его задача именно обновлять файлы с одинаковыми именами при измении их контента...
Спасибо за помощь, но пробую -не помогает - хотя теперь к коде видно что функция рэнд срабатывает, вот код в браузере гугл:
<div class="main"><object type="application/x-shockwave-flash" id="Browser" data="Brow.swf?974279516)" width="2000px" height="1000px"><param name="menu" value="false"><param name="scale" value="noScale"><param name="allowFullscreen" value="true"><param name="allowScriptAccess" value="always"><param name="bgcolor" value=""><param name="wmode" value="transparent"></object></div>
Может я что-то неправильно делаю?
Brow.swf?974279516)
Скобочка лишняя. Ну вообще-то не повлияет наверное.
Не силен в серверных делах, но может быть немного усложнить URL с указанием имени переменной:
Brow.swf?rnd=<?php echo rand() ?>
Вот здесь (http://webo.in/articles/all/http-caching/) еще почитайте.
+ к метатегу Cache-Control на странице еще директиву в .htaccess на сервере прописать стоит.
Какие имнно директивы, пробую так(это всё содержимое файла .htaccess):
ExpiresActive on
# ExpiresDefault A 1
По идее он должен обновляться раз в секунду - это лучше чем раз в час как сейчас - не обновляется
К сожалению, по материалу тому точно не могу сказать, задачи такой не возникало. Просто привел еще один способ, поскольку полагал, что серверные директивы также можно задействовать для решения.
PS. Избегайте избыточного цитирования, не захламляйте сообщения полнотекстовыми цитатами, ведь пока логика ответов понятна и без этого.
Для управления кэшем браузера есть соответствующие HTTP-заголовки (http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%BE%D0%B2_HTTP). Что в html имитируется тегом meta. Вам необходимо отправить заголовок Cache-Control в ответе на запрос вашего swf.
В итоге всё получилось, спасибо за помощь!!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.