This question already has answers here:
Why doesn't my boolean value return correctly from localStorage?
(3个答案)
5年前关闭。
我试图根据localStorage键的值执行JavaScript函数。看起来很容易,但是我什么也没走。这是我目前拥有的-
这应该做的是每50毫秒检查一次localStorage中的键“ 1”。如果为true,请执行if语句下定义的函数。如果为假,则执行在else或else if语句下定义的另一个函数。
不幸的是,在localStorage中是否甚至没有条目都无关紧要,它总是执行第一个函数(隐藏对象)。我不知道为什么。
任何建议将不胜感激。
谢谢。
编辑-在其他帖子中找不到此信息,主要是因为我的问题与评论和答案中提到的要点有关。如果字符串
(3个答案)
5年前关闭。
我试图根据localStorage键的值执行JavaScript函数。看起来很容易,但是我什么也没走。这是我目前拥有的-
<script>
window.onload = function ()
{
setInterval(function()
{
var one = localStorage.getItem('one');
if (one !== true)
{
var elem = document.getElementById("one");
elem.className = "hide";
}
else if (one !== false)
{
var elem = document.getElementById("one");
elem.className = "show";
}
else {
var elem = document.getElementById("one");
elem.className = "show";
}
}, 50);
}
</script>
这应该做的是每50毫秒检查一次localStorage中的键“ 1”。如果为true,请执行if语句下定义的函数。如果为假,则执行在else或else if语句下定义的另一个函数。
不幸的是,在localStorage中是否甚至没有条目都无关紧要,它总是执行第一个函数(隐藏对象)。我不知道为什么。
任何建议将不胜感激。
谢谢。
编辑-在其他帖子中找不到此信息,主要是因为我的问题与评论和答案中提到的要点有关。如果字符串
"true"
不在localStorage中,为什么该函数仍在执行? 最佳答案
严格存储在localStore中的任何内容都必须存储字符串键/值对。这意味着您实际上是在存储字符串:"true"
而不是布尔值true
。