Полноэкранное веб-приложение для iOS сбрасывает куки? - PullRequest
17 голосов
/ 16 августа 2011

Я обнаружил, что iOS4 сбрасывает файлы cookie при запуске / выходе из веб-приложения, сохраненного на приборной панели (в полноэкранном режиме).

Это правда и есть ли обходной путь?

1 Ответ

22 голосов
/ 12 сентября 2011

Это не ошибка, это особенность.Сеансовые файлы cookie (т. Е. Файлы cookie со сроком жизни 0) удаляются в конце сеанса браузера - что, в случае полноэкранного веб-приложения, происходит, как только вы покидаете веб-приложение.Если вы хотите, чтобы они сохранялись, просто установите время жизни ваших файлов cookie больше, чем значение по умолчанию 0 (я использую 1 год).

Теперь ваш вопрос может быть таким: как мне установить время жизни моих файлов cookie?Предполагая, что вы используете PHP, фрагмент кода будет выглядеть так:

$lifetime = 31536000; // one year 
setcookie($varName,$varValue,time()+$lifetime); 

Если вы используете сеансы PHP, вам придется переписать cookie, чтобы добавить время жизни больше 0:

setcookie(session_name(),session_id(),time()+$lifetime);

Обычно вам не нужно переписывать cookie-файл сеанса, чтобы изменить время жизни по умолчанию, поскольку функция session_set_cookie_params должна позволить вам сделать это, но я обнаружил, что это не всегда так.

...