我有一个静态页面/story
,其中有一个按钮,显示“做出您的选择”,由/choice
处理。在/choice
中,我在标题
var count = 0;
function writeToStorage()
{
var user = "user" + count;
count++;
localStorage.setItem("chooser", user);
document.getElementById("form_chooser").value = user;
};
因此,/choice
每次调用/story
时,“count”将重置为零。如何使“count”持久化,以便每次调用/choice
时都使用当前值?
我问previous question这个问题,但我认为不清楚我想做什么,答案集中在函数writeToStorage()
上。确实如果我在一个会话中多次呼叫writeToStorage
writeToStorage();
writeToStorage();
writeToStorage();
“count”递增但是只要/choice
运行,计数就会重置为零。我想“数”坚持下去。感谢。
答案 0 :(得分:5)
沿着这些方向发展:
var count = localStorage.getItem("count") || 0;
function writeToStorage() {
count++;
localStorage.setItem("count", count);
document.getElementById("form_chooser").value = "user" + count;
};
因此,第一行获取当前本地存储计数或0(如果未定义)(如果计数从未存储过,用户第一次来到您的页面),则递增计数并保存。然后在元素中写入当前计数。
答案 1 :(得分:1)
function storage (){
var canStore = true;
if (typeof(localStorage) == 'undefined' ) {
canStore = false;
}
return canStore;
};
function getStorageVal(key){
if (storage()) {
return localStorage.getItem(key);
}
}
var count = getStorageVal('chooser');
count++;
var user = "user" + count;
localStorage.setItem("chooser", user);
document.getElementById("form_chooser").value = user;