Файлы cookie в IE6 +, Safari против Opera, Firefox (JQuery) - PullRequest
1 голос
/ 07 декабря 2009

Я обнаружил странную разницу в поведении файлов cookie в IE + Safari / Opera + Firefox при навигации с помощью кнопки «назад»:

в IE и Safari файлы cookie, установленные на странице, сбрасываются (возвращаются) при возврате на предыдущую страницу с помощью кнопки «назад», а в Opera и Firefox новые файлы cookie сохраняются.

Мне нужно последнее поведение, но как мне реализовать его для IE и Safari, если это вообще возможно?

Файлы cookie устанавливаются сервером и считываются с использованием API cookie JQuery ($ .cookie)

Спасибо.

1 Ответ

0 голосов
/ 23 июля 2010

Я столкнулся с совершенно противоположной проблемой в FF и Chrome. Файлы cookie возвращаются к файлам cookie при загрузке страницы. Если пользователь выбирает параметр, который изменяет файл cookie, переходит на другую страницу и затем щелкает назад, это изменение теряется. Но те же скрипты прекрасно работают в IE и Safari для меня.

РЕДАКТИРОВАТЬ: Я только что исправил проблемы с сохранением, которые у меня были с FF / Chrome, добавив эти строки PHP на мою страницу:

header("Cache-Control: no-store, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

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

window.onbeforeunload = function () {
    // return 'warning';
}

помогает предотвратить кэширование страницы без предупреждения пользователя о появлении диалогового окна.

Не знаю, поможет ли это, но я думал, что дам свои два цента.

...