Настройка файлов cookie с использованием JavaScript в локальном HTML-файле - PullRequest
33 голосов
/ 04 июня 2011

У меня есть следующее дерево каталогов:

+ folder1
|--- folder2
|------ page1.html
|--- page2.html

Если я установлю какой-либо файл cookie в page1.html с помощью JavaScript, какой путь будет использован для этого файла cookie?

Edit:
Позвольте мне объяснить это лучше. Я работаю с локальным файлом. Доступ к page1.html осуществляется через /home/user/.../folder1/folder2/page1.html, а не через клиентский компьютер с HTTP-сервером.

Просто чтобы уточнить:
Кажется, что некоторые браузеры (например, Chrome) не сохраняют куки при использовании file:///, но и Firefox и Internet Explorer делают.

Ответы [ 4 ]

19 голосов
/ 04 июня 2011

На странице MDC для document.cookie:

Если не указано, [аргумент path] по умолчанию использует текущий путь к текущему местоположению документа.1008 *

Так что в вашем случае это будет /folder1/folder2/.


Я изначально не видел, чтобы вы указали "local" в заголовке вопроса - неуверен, что это было обновлено, пока я писал свой ответ.Файлы cookie не устанавливаются при просмотре по протоколу file:///, в зависимости от браузера.

15 голосов
/ 04 июня 2011

Браузеры не сохраняют куки для протокола file:// url, он просто и молча не сможет ничего установить. Так что, если это действительно «локально», а не в домене, у вас может быть проблема.

9 голосов
/ 12 июня 2013

Если вы работаете на Mac, вы можете закрыть Chrome и перезапустить его следующим образом:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-file-cookies

После этого вы сможете устанавливать файлы cookie для локальных файлов.

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

установите --enable-file-cookies для chrome, и он должен работать для вас.Кроме того, есть некоторые функции, которые вам нужно будет установить «принимать все файлы cookie», чтобы сделать работу, но если вы это сделаете, обязательно вернитесь назад, прежде чем вернуться в сеть.

...