繁体   English   中英

存储布尔值或int并在页面加载后检查/更改它的值

[英]Storing a boolean or int and check/change it's value after the page has loaded

我想存储一个布尔值或INT某处,我可以检查它的页面已经loadedd后,这样我就可以在页面加载后布尔更改为false(通过a链接)。

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

我也在考虑使用HTML 5的客户端存储。

到目前为止我有这个:
但是当我稍后在脚本中检查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;
     }

这样做有什么最佳做法吗?

正如您在问题中所述,您可以使用localStorage(持久性浏览器加载)或sessionStorage(仅持续页面生命周期 - 新窗口是新会话)。

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

localStorage.key = "value";

您只能在DOM存储中存储字符串,因此您可能必须将检索到的布尔值比较为"true""false"而不仅仅是truefalse 或者,您可以将数据转换为JSON,然后解析JSON。

使用localStorage保存数据: http//hacks.mozilla.org/2009/06/localstorage/

兼容性: http//dev-test.nemikor.com/web-storage/support-test/

您可以稍微简化一下条件:

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

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

演示: http//jsfiddle.net/bHmyj/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM