используя localStorage.setItem Internet Explorer

Я хочу использовать localStorage.setItem в Internet Explorer 11,

Я пробовал так:

<script>
  localStorage.setItem("lastname", "Smith");
</script>

но в консоли IE я вижу:

SCRIPT5007: невозможно получить свойство setItem неопределенной или нулевой ссылки.

Я также попробовал данный ответ, например:

<script>
!localStorage && (l = location, p = l.pathname.replace(/(^..)(:)/, "$1$$"), (l.href = l.protocol + "//127.0.0.1" + p));

if (typeof(Storage) != "undefined") {
    // Store
    localStorage.setItem("lastname", "Smith");
    // Retrieve
    alert(localStorage.getItem("lastname"));
} else {
    alert("Sorry, your browser does not support Web Storage...");
}
</script>

но тогда я получаю:

введите здесь описание изображения


person spez    schedule 05.03.2020    source источник
comment
Должно сработать. caniuse.com/#search=webstorage   -  person mplungjan    schedule 05.03.2020
comment
Страница с ошибкой вряд ли связана с ошибками JS   -  person mplungjan    schedule 05.03.2020
comment
Ваша ссылка не подходит для тестирования localStorage   -  person mplungjan    schedule 05.03.2020
comment
Эта страница работает в IE11 dev-test.nemikor.com/web-storage/ поддержка-тест   -  person mplungjan    schedule 05.03.2020
comment
@mplungjan Отличные ссылки, но все еще не работают, я попробовал window.webstorage.setItem('key', 'value');, но получил Unable to get property 'setItem' of undefined or null reference   -  person spez    schedule 05.03.2020
comment
Ваш ИТ-отдел может заблокировать использование localStorage в IE.   -  person mplungjan    schedule 05.03.2020


Ответы (1)


  • Please check this option in IE 11, if this option is disabled, storage object will be undefined in IE:
    1. Click the "Tools" menu and choose "Internet Options".
    2. Нажмите на вкладку с надписью «Дополнительно».
    3. Установите флажок «Включить хранилище DOM».
    4. Нажмите «Применить», нажмите «ОК».

введите здесь описание изображения

  • localstorage не может работать с file:// протоколом, вам нужно запускать страницу через http-протокол.
  • Могут быть проблемы с localstorage в старой версии IE 11 в win7/win8 убедитесь, что вы установили последнее обновление.
person Yu Zhou    schedule 06.03.2020