Гарантированное обновление текстового динамического баннера

Jun 23, 2016 07:13

На сайте А средствами PHP периодически создается HTML-файл с текстовым баннером. На сайте Б этот файл подгружается через IFRAME. Проблема в том, что подгружается кэш браузера, а не новая версия файла. МETA-тэги типа cache-control не помогают, точнее, помогают не во всех браузерах. Как "заставить" браузер подгружать новую версию? Использовать не ( Read more... )

Leave a comment

Comments 9

zerkms June 23 2016, 04:50:40 UTC
Что в заголовках?

Проблемы кеширования следует начинать решать с изучения именно их.

А любые проблемы в принципе нужно изучать с изучения деталей, которые позволили бы прояснить, почему проблема вообще возникла (вместо того чтобы гадать "а не взять ли мне jscript")

Reply

shaulreznik June 23 2016, 05:10:41 UTC
В заголовках:

Reply

zerkms June 23 2016, 05:14:17 UTC
Это не заголовки, это кусок какой-то страницы.

Заголовки это те, которые в HTTP запросе и ответе.

Reply

shaulreznik June 23 2016, 05:18:33 UTC
Т. е. запустить Wireshark и посмотреть, что происходит при запросе?

Reply


robinbobin June 23 2016, 07:24:15 UTC
звать html с вопросом

banner.html?
можно ?r=random(какойнибудь)

Reply


e_maksimov June 23 2016, 11:02:34 UTC
МETA-тэги типа cache-control не помогают, точнее, помогают не во всех браузерах. Как "заставить" браузер подгружать новую версию? Использовать не IFRAME, а JScript? Что-нибудь другое?
А никак. Серебрянной пули нет - браузеры пользователей Вы не контролируете. Пользователь и JS может отключить/заблокировать конкретный скрипт, и заголовки управления кешированием заменить/включить игнорирование.

А так, смотрите обмен браузера с сервером, мало ли, может у Вас веб-сервер отдает "304 Not Modified" вместо контента.

Reply


thecomicz June 23 2016, 12:55:10 UTC
Выше уже написали про headers
И про рандом в SRC

У меня выдается такое, например
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));

Reply


Leave a comment

Up