Я впервые использую локальное хранилище HTML5, используя FF5.У меня есть нижеприведенный javascript, он должен сохранить строку в локальном хранилище, однако при перезагрузке страницы в локальном хранилище нет никаких значений.Что я делаю неправильно?Почему «foo» не заполняется на страницах sedond load?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js</script> <script> $(document).ready(function() { if (!localStorage) {return false; } var foo = localStorage.getItem("key1"); if (foo != null) { document.getByName("identifier").value = foo; } localStorage["key1"] = "value1"; }); </script>
У меня тоже была такая же проблема.Я обнаружил, что не могу получить элементы из локального хранилища во время документа. Уже, но могу получить элементы впоследствии.
Вы должны использовать localStorage.setItem.Например,
localStorage.setItem
localStorage.setItem("key1", "value1");
ПРИМЕЧАНИЕ: IE 7 не поддерживает localStorage
Посмотрите на мой код
Вам не нужны getItem и setItem
jQuery('.close-intro').click(function() { window.localStorage['intro'] = 1; jQuery('.intro-holder').slideUp(); jQuery('.open-intro').show(); }); jQuery('.open-intro').click(function() { window.localStorage['intro'] = 0; jQuery('.intro-holder').slideDown(); jQuery(this).hide(); }); var opcl = window.localStorage['intro']; if (opcl == 1) { jQuery('.intro-holder').slideUp(); jQuery('.open-intro').show(); } if (opcl == 0) { jQuery('.intro-holder').slideDown(); jQuery('.open-intro').hide(); }
Я полагаю, вам нужно использовать метод "setItem", т.е.
localStorage.setItem('key1', 'value1');