Местное хранилище не работает

1

Я сделал некоторые html/JavaScript-коды вроде этого:

<script>
if(window.localStorage!==undefined)
{
 }
else{ alert('Your browser is outdated!'); }
function myfunction1{
if(localStorage.getItem('permission')!="") { localStorage.setItem('permission', pressed);} 
function myfunction2{ document.getElementById('data').innerHTML = localStorage.getItem('permission');}
</script>
<body onload="myfunction2()">
<p id="data">this paragraph shows storage data</p>
<button onclick="myfunction1()">press</button>

Первый скрипт предназначен для проверки того, поддерживает ли браузер localstorage. Второй скрипт (myfunction1) проверяет, есть ли какие-либо данные, называемые "разрешением". Если их нет, то это сделает. Третий код (myfunction2) предназначен для отображения локальных данных. Но никто из них не работает. Возможно, в моем коде есть простая проблема. Но я не могу это исправить. Пожалуйста помоги.

Теги:
local-storage
stack-overflow

1 ответ

1
Лучший ответ

В коде есть несколько синтаксических ошибок:

  1. Вы можете проверить, поддерживает ли ваш веб-браузер localStorage или нет, просто используя typeof(Storage) === "undefined", работает для localStorage/sessionStorage.
  2. Вашим функциям нужен правильный синтаксис, т. function name() {handle}
  3. Вы не определили нажатие, если строка - это то, что вам нужно, вы забыли двойные кавычки, "pressed" вокруг нее.

<script>
if(typeof(Storage) === "undefined") {
  alert('Your browser is outdated!'); 
}

function myfunction1() {
  if(localStorage.getItem('permission')!="") 
  { localStorage.setItem('permission', 'pressed');} 
}

function myfunction2()  { 
  document.getElementById('data').innerHTML = localStorage.getItem('permission');
}

</script>

<body onload="myfunction2()">
<p id="data">this paragraph shows storage data</p>
<button onclick="myfunction1()">press</button>
</body>
  • 0
    Ваш код имеет то, что мне нужно. Но в вашем коде есть ошибка. if (typeof (Storage)! == "undefined") {alert ('Ваш браузер устарел!'); }: этот код предназначен для создания оповещения, если typeof (Storage) не является неопределенным. Или если typeof (Storage) определен. Измените его на if (typeof (Storage) == "undefined") {alert ('Ваш браузер устарел!'); }
  • 0
    Мой браузер выдает предупреждение «Ваш браузер устарел» каждый раз, когда я открываю страницу (которая содержит код из вашего ответа). Но локальное хранилище setitem и getitem работают отлично.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню