с помощта на 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/ support-test   -  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. Щракнете върху „Прилагане“, щракнете върху „OK“.

въведете описание на изображението тук

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