我有两个html文档,我希望它们共享一个变量及其值。
在JavaScript中代替“真正的全局”变量,我尝试过使用Web API存储:
var number = parseInt(localStorage.setItem('num',0));
存储总是一个字符串,所以我尝试解析成一个看似错误的整数(而不是在我的程序中显示为0,它显示为'NaN')。我只能假设我的语法错了吗?
我希望这个变量可以增加(每次用户点击某些内容时+1)但还没有想出来。然后我想在第二个html文档中检索它的值。但是由于尝试解析存储值时最初的失误,我还是无法尝试这些方法。
答案 0 :(得分:0)
它不起作用,因为localStorage.setItem
返回undefined
。做到这一点的方法是:
// define variable
var num = 0;
// set to storage
localStorage.setItem('num', num);
// get from storage
num = parseInt(localStorage.getItem('num'));
// write-back incremented
localStorage.setItem('num', num + 1);
答案 1 :(得分:0)
localStorage.setItem
存储值但不返回任何内容 - 换句话说返回undefined
。尝试将undefined
解析为数字会返回NaN
。
请注意,从file://
浏览浏览器中的文件时,localStorage不能跨文件工作,您需要运行最小的服务器来测试代码。