选择更改本地存储在 Firefox 中不起作用

select onchange local storage not working in firefox

本文关键字:Firefox 不起作用 存储 选择      更新时间:2023-09-26

我发现了类似的问题,但答案是Jquery或在这种情况下不起作用。我有以下 HTML 代码

<html>
<body onload="load()">
<div>
    <select id="colorlist" onchange="saveSelect()">
        <option value="white">White</option>
        <option value="#E0C2FF">#E0C2FF</option>
        <option value="orange">Orange</option>
        <option value="purple">Purple</option>
    </select>
</div>
</body>
</html>

以及以下在Chrome中工作但在Firefox中不起作用的javascript代码(我还没有在IE中测试过)。

function saveSelect () {
    localStorage.bgColor = document.getElementById("colorlist").value;
    document.body.style.backgroundColor = localStorage.bgColor; 
}
function load() {
    if (localStorage.bgColor.length == 0) {
        localStorage.bgColor = "white";
    }
    else {
        document.body.style.backgroundColor = localStorage.bgColor;
        document.getElementById("colorlist").value = localStorage.bgColor;
    }
}

如果你知道一个好的解决方案,或者可能适用于HTML,CSS或最好的浏览器的所有浏览器是Javascript(请不要像Jquery这样的库),我将不胜感激。

弗里兹的苏格斯特翁

http://jsfiddle.net/4a60k1vm/

有时

它有效,有时无效。

你应该

使用

localStorage.setItem('bgColor', x);

而不是

localStorage.bgColor = x;

localStorage.getItem('bgColor');

检索您存储的值。

Firefox 不会再崩溃了,因为它是使用 localStorage 的正确方式。