Javascript 存储布尔值或整数并检查/更改它';加载页面后的s值

Javascript 存储布尔值或整数并检查/更改它';加载页面后的s值,javascript,html,Javascript,Html,我试图将布尔值或int值存储在某个地方,以便在页面加载EDD后检查它,以便在页面加载后(通过a链接)将布尔值更改为false 我知道你可以把它作为隐藏文本或隐藏单选按钮放在页面上,但那真的很难看 我还考虑使用HTML5的客户端存储 到目前为止,我有: 但很明显,当我稍后在脚本中检查stopOnMouseOut时,它将始终返回true stopOnMouseOut = true; var stopSoundsVar = document.getElementById("stop_soun

我试图将布尔值或int值存储在某个地方,以便在页面加载EDD后检查它,以便在页面加载后(通过
a
链接)将布尔值更改为false

我知道你可以把它作为隐藏文本或隐藏单选按钮放在页面上,但那真的很难看

我还考虑使用HTML5的客户端存储

到目前为止,我有:
但很明显,当我稍后在脚本中检查stopOnMouseOut时,它将始终返回true

stopOnMouseOut = true;

    var stopSoundsVar = document.getElementById("stop_sounds");
    stopSoundsVar.onclick = function() {
        // toggle boolean
        if (stopOnMouseOut == true) {
            stopOnMouseOut = false;
        }else {
            stopOnMouseOut = true; 
        }
        //alert(stopOnMouseOut);
        return false;
     }

有什么最佳做法可以做到这一点吗?

您可以稍微简化条件:

var stopOnMouseOut = true,
    stopSoundsVar = document.getElementById("stop_sounds");

stopSoundsVar.onclick = function() {
    stopOnMouseOut = !stopOnMouseOut;
    return false;
 }

演示:

如您在问题中所述,您可以使用localStorage(浏览器加载时的持久存储)或sessionStorage(仅在页面生命周期内使用,新窗口是新会话)

使用localStrorage(或sessionStorage)非常简单:

localStorage.key = "value";
您只能将字符串存储在DOM存储中,因此您可能需要将您检索回来的布尔值作为
真“
假“
进行比较,而不仅仅是
。或者,您可以将数据转换为JSON,并将JSON解析出来

使用localStorage保存数据:


兼容性:

谢谢,我不知道!将反转布尔值。但我最初的问题仍然没有得到回答。