Почему Safari не соблюдает мою директиву по управлению кэшем? - PullRequest
9 голосов
/ 30 августа 2010

Существует определенная страница, которую я хотел бы, чтобы браузер всегда загружал, особенно когда пользователь нажимает кнопку возврата браузера, чтобы перейти к ней.

Поэтому я использую следующую директиву 'Cache-Control' взаголовок этой страницы (с использованием PHP непосредственно из моего кода).

$headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0';

Это работает для FF, IE и Chrome, но Safari (5.0.1), похоже, игнорирует директиву и не может перезагрузитьстраница (для нескольких пользователей, так что, похоже, проблема не связана с настройкой).Поиск не выявил каких-либо известных ошибок, поэтому я предполагаю, что с моей стороны что-то не так.

Любые указатели будут высоко оценены.

Обновление: только что нашел этот ответ на SO.

Браузер Safari игнорирует мой no-cache

Еще не пробовал, но выглядит многообещающе,Очень странно, что это дополнение к тегу body, поэтому я скептически отношусь.

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

Ответ заключается в том, чтобы включить следующий атрибут в тег body, чтобы заставить Safari перезагрузить страницу:

onunload=""

Как в:

<body onunload="">

Я нашел это здесь: Браузер Safari игнорирует мой no-cache

Который, в свою очередь, получил его из этой темы: При нажатии кнопки "Назад" происходит событие кросс-браузерной загрузки?

2 голосов
/ 18 ноября 2011

См. Также этот отчет об ошибке Webkit: https://bugs.webkit.org/show_bug.cgi?id=71509

У меня возникла та же проблема, и похоже, что это ошибка в Safari.

...