1

我是 html5 中的 localStorage 的新手,并且在语法上遇到了一些困难。我基本上是在尝试检查 checkFullscreen 的值,并根据真假运行一些命令。但它不起作用。我做错了什么,您能否为我提供解决此问题的方法。

(win.isFullscreen、win.leaveFullscreen()、win.enterFullscreen() 是 node.js 的一部分)

谢谢。

var fullscreenstore = localStorage.getItem('fullscreen');
var checkFullscreen = win.isFullscreen;

if (fullscreenstore == null || true) { // if value is null or true then fullscreen app
    localStorage.setItem(fullscreen, true);
    win.enterFullscreen();
    win.maximize();
    win.show();
}
else { // if false then run in window mode and set localStorage value false
    localStorage.setItem(fullscreen, false);
    win.maximize();
    win.show();
}

然后按“F1”键更改localStorage 值的值。

$(document).keyup(function (e) {
        if (e.which == 27) {
            win.close();
        };
        if (e.which == 112) {
            if (checkFullscreen == true) {
                win.leaveFullscreen();
            }
            else {
                win.enterFullscreen();
            };
        };
    });
4

2 回答 2

2

localStorage只存储字符串。您设置的其他值将转换为字符串。

因此,您应该比较"true","false"undefined在读取值时。

于 2013-09-30T18:51:51.903 回答
1

localStorage 将在存储时将值转换为字符串,

例如:

localStorage.setItem("something",true)

localStorage.getItem("something") // returns "true"

但试图将值与布尔值进行比较

因此, string == boolean 将始终返回 false

于 2013-09-30T18:54:25.847 回答