Почему Safari не уважает мою директиву Cache-Control?
-
25-09-2019 - |
Вопрос
Есть определенная страница, которую я хотел бы, чтобы браузер всегда нагружен, особенно когда пользователь нажимает кнопку BARKER BACK, чтобы добраться до него.
Поэтому я использую следующую «Директива Cache-Control» в заголовке для этой страницы (принимая PHP непосредственно из моего кода).
$headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0';
Это работает для FF, т.е. и Chrome, но Safari (5.0.1), похоже, игнорирует директиву и не перезагружает страницу (в нескольких пользователях, поэтому не является проблемой настройки). Поиск не выявил каких-либо известных ошибок, поэтому я предполагаю, что есть что-то асисс на моем концах.
Любые указатели будут высоко оценены.
Обновление: только нашел этот ответ на так.
Браузер Safari игнорирует мой No-Cache
Еще не пробовал, но выглядит многообещающим. Очень странно, что это дополнение к тегу тела, поэтому я скептически.
Решение
Ответ заключается в том, чтобы включить следующий атрибут в тег для тела, чтобы заставить Safari перезагрузить страницу:
onunload=""
Как в:
<body onunload="">
Я нашел это здесь: Браузер Safari игнорирует мой No-Cache
Что, в свою очередь, получил его из этой темы: Если при нажатии кнопки «Назад».
Другие советы
Также см. Этот отчет об ошибках WebKit:https://bugs.webkit.org/show_bug.cgi?id=71509.
Я испытываю ту же проблему, и кажется, что это ошибка в Safari.