select onchange 本地存储在 firefox 中不工作
select onchange local storage not working in firefox
我发现了类似的问题,但答案是 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>
和下面的 javascript 代码在 Chrome 中有效但在 Firefox 中无效(我还没有在 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;
}
}
如果您知道适用于 Firefox 或可能适用于 HTML、CSS 中所有浏览器的好的解决方案,或者最好的解决方案是 Javascript(请不要使用 [=32= 这样的库]), 我将不胜感激。
Freez 的建议
有时有效有时无效。
你应该使用
localStorage.setItem('bgColor', x);
而不是
localStorage.bgColor = x;
和
localStorage.getItem('bgColor');
检索您存储的值。
Firefox 不会再崩溃,因为它是使用 localStorage 的正确方法。
我发现了类似的问题,但答案是 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>
和下面的 javascript 代码在 Chrome 中有效但在 Firefox 中无效(我还没有在 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;
}
}
如果您知道适用于 Firefox 或可能适用于 HTML、CSS 中所有浏览器的好的解决方案,或者最好的解决方案是 Javascript(请不要使用 [=32= 这样的库]), 我将不胜感激。
Freez 的建议
有时有效有时无效。
你应该使用
localStorage.setItem('bgColor', x);
而不是
localStorage.bgColor = x;
和
localStorage.getItem('bgColor');
检索您存储的值。
Firefox 不会再崩溃,因为它是使用 localStorage 的正确方法。