Проблема с настройками файлов cookie iOS: Safari и ChromeIOS

Программируем под IOS
Ответить
Anonymous
 Проблема с настройками файлов cookie iOS: Safari и Chrome

Сообщение Anonymous »

Я устраняю проблему с настройками файлов cookie, которая возникает только в Chrome и Safari на iOS. Вот следующий блок кода, который отлично работает в Chrome/Safari/Firefox на OSX:

Код: Выделить всё

if (navigator.userAgent.indexOf('iPad') > -1) {
window.onpagehide = placeCookie
} else {
window.onbeforeunload = placeCookie
}

function placeCookie () {
if (isAuthenticated()) {

var cookie = 'cookieName=' + token + '; max-age=60'

if (env === 'prod') {
cookie += '; secure'
}

document.cookie = cookie
}
}
Этот код предназначен для размещения файла cookie, когда окно обнаруживает навигацию. В нашем случае, поскольку это angularjs, мы прослушиваем перезагрузку страницы и хотим, чтобы этот файл cookie сопровождал запрос.

Код перезагрузки: window.location.reload(true)

Для разработки я использую Charles Proxy для анализа файлов cookie, а также проверки файлов cookie на сервере узла, поскольку инспектор Safari закрывается при перезагрузке страницы. Когда я снова открываю окно инспектора, я вижу, что файл cookie установлен в браузере, но ни сервер, ни Чарльз не видят этот файл cookie. Вот вставка файла cookie из инспектора Safari на iPad (который не виден серверу/charlesproxy):

Код: Выделить всё

Name        Value   Domain                      Path Expires
cookieName  token   localhost.charlesproxy.com  /    7/10/2017, 11:23:13 PM 39
Когда я просматриваю его в других браузерах, файл cookie виден повсюду.

Кто-нибудь знает причину, по которой iOS не признает файл cookie? Возможно ли, что запрос делается на iOS до размещения файла cookie?

Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.

Подробнее здесь: https://stackoverflow.com/questions/450 ... and-chrome
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»