Локальное хранилище Safari пусто при завершении и запуске - PullRequest
0 голосов
/ 26 мая 2011

Я записываю простое значение в локальное хранилище Safari, и если Safari затем закрывается, он сможет прочитать соответствующее значение.

Интересно, что я могу записывать данные в локальное хранилище с помощьюследующий код:

localStorage.setItem("savedData", JSON.stringify(cookieValue));

Но когда я закрываю все экземпляры Safari и открываю новый, локальное хранилище отображается как пустое.

Кто-нибудь знает, почему это произойдет?

1 Ответ

0 голосов
/ 26 мая 2011

Решение довольно очевидно, это была моя ошибка - пропустить некоторые мелкие детали;по сути, браузер пытается защитить защищенные данные от небезопасных.

Страница, которая пытается сохранить данные, - это http, тогда как страница, которая пытается получить данные, - это https.

localStorage - это то же самое, что globalStorage [location.hostname], за исключением того, что он ограничен источником HTML5 (схема + имя хоста + нестандартный порт), а localStorage является экземпляром Storage, а не globalStorage [location.имя_хоста], являющийся экземпляром StorageObsolete.Например, http://example.com не может получить доступ к тому же объекту localStorage, что и https://example.com, но они могут получить доступ к тому же элементу globalStorage.localStorage - это стандартный интерфейс, а globalStorage - нестандартный.localStorage был представлен в Firefox 3.5.

Из Mozilla - DOM Storage

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

Надеюсь, это поможет людям, которые могут оказаться в такой же ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...