Подтвердить что ты не робот

LocalStorage не работает в Edge?

В настоящее время я работаю над некоторыми JS. Он отлично работает в каждом браузере, кроме Microsoft Edge. Вопрос довольно прост: в начале одного из моих скриптов я объявляю такую ​​переменную:

var something = localStorage.getItem('something'); 

В любом случае чего-то еще не существует, но вся идея заключается в том, что это можно использовать для ссылки в более поздней функции. У Firefox, Chrome, Opera и Safari нет проблем с этим, но Edge делает, так что мой вопрос - это быстрое решение? Или мне придется переписать весь мой script из-за Edge?

Это ошибка, которую ребро бросает кстати.

 Unable to get property 'getItem' of undefined or null reference

Спасибо!

4b9b3361

Ответ 1

Локальное хранилище не работало для локальных файлов в IE9, поэтому я полагаю, что это все еще имеет место в MS Edge.

Я только что протестировал его в Edge с сервером на localhost, и ваша строка кода работала нормально:

> var something = localStorage.getItem('something');
> undefined

Возможно, это была проблема безопасности в более ранних версиях IE, и она просто не обновлялась при разработке браузера.

Хотя, похоже, что localStorage и sessionStorage по-прежнему не работают в Edge для файлов HTML, к которым обращаются по протоколу 'file://'.

Ответ 2

Не могли бы вы попробовать

var something = window.localStorage.getItem('something');

Не могли бы вы также проверить, есть ли у вас "Включить хранилище DOM"? Вы можете найти его под: Свойства обозревателя → вкладка "Дополнительно" → поле группы безопасности

Также, если вы используете свою страницу из локальной файловой системы, localStorage не работает в IE, вам нужно запустить ее с веб-сервера.

Вот ссылка, в которой содержится дополнительная информация о том, как ее включить

Ответ 3

Может быть, DOMStorage отключен? Протестируйте с помощью этого:

if (typeof window.Storage === 'undefined') {
    alert('Storage turned off...');
}