Настройка файлов cookie с использованием JavaScript в локальном HTML-файле
У меня есть следующее дерево каталогов:
+ folder1
|--- folder2
|------ page1.html
|--- page2.html
Если я установлю печенье в page1.html
используя JavaScript, какой путь используется для этого файла cookie?
Редактировать:
Позвольте мне объяснить это лучше. Я работаю с локальным файлом. page1.html
доступ через /home/user/.../folder1/folder2/page1.html
а не через клиентский компьютер с использованием HTTP-сервера.
Просто для ясности:
Кажется, что некоторые браузеры (например, Chrome) не хранят куки при использовании file:///
, но и Firefox и Internet Explorer делают.
6 ответов
Со страницы MDC дляdocument.cookie
:
Если не указано, [
path
аргумент] по умолчанию - текущий путь к текущему местоположению документа.
Так что в вашем случае это будет /folder1/folder2/
,
Изначально я не видел, чтобы вы указали "local" в заголовке вопроса - не уверен, обновлялся ли он, когда я писал свой ответ. Файлы cookie не устанавливаются при просмотре с использованием file:///
протокол, в зависимости от браузера.
Браузеры не хранят файлы cookie для file://
Протокол URL, он просто и молча не сможет ничего установить вообще. Так что, если это действительно "локально", а не в домене, у вас могут быть проблемы.
Если вы работаете на Mac, вы можете закрыть Chrome и перезапустить его так:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-file-cookies
После этого вы сможете устанавливать файлы cookie для локальных файлов.
Установите --enable-file-cookies для chrome, и он должен работать для вас. Кроме того, есть некоторые функции, которые вам нужно будет настроить "принимать все файлы cookie", чтобы сделать работу, но если вы это сделаете, обязательно вернитесь назад, прежде чем вернуться в онлайн.
Для тех, кто все еще ищет способ, попробуйте установить параметры URL вместо файлов cookie.
Я загрузил несколько романов в формате HTML для чтения в автономном режиме, и не было возможности передать ранее установленный размер шрифта в следующие главы с помощью файлов cookie, поэтому то, что я сделал, показано ниже:
- Сначала добавьте прослушиватель событий вдовы, который добавляет параметр размера шрифта всякий раз, когда нажимается ссылка (на следующий канал).
- А затем функция window.onload, которая принимает значение параметра и изменяет размер шрифта
В качестве обходного пути вы можете использовать Tampermonkey с доступом к локальным файлам ( как включить локальные htm-страницы в сценарий Tampermonkey?) Таким образом вы будете использовать хранилище Tampermonkey и сможете устанавливать и получать свои данные с помощью функций GM_getValue(данные) и GM_setValue(данные). Я использовал это для своей локальной HTML-страницы, которую я использовал в качестве настраиваемой альтернативы проводнику Windows.