[英]How can I store value to the browser localStorage for the first time?
在這里,我聲明了一個具有本地存儲值的變量var yourLink = parseInt(localStorage.getItem('linkID'));
但問題是當第一次沒有價值時這是行不通的。 因此,我嘗試在沒有找到值的情況下添加另一個if
語句,然后為yourLink
變量賦值。 但是做不到。 接下來我可以嘗試什么?
這里我給出完整的代碼:
var link = ["https://www.facebook.com/", "https://stackoverflow.com/"];
var yourLink = parseInt(localStorage.getItem('linkID'));
localStorage.setItem('linkID', yourLink);
if ((parseInt(localStorage.getItem('linkID')))<= 7 ) {
yourLink = parseInt(localStorage.getItem('linkID')) + 1;
localStorage.setItem('linkID', yourLink);
yourLink = parseInt(localStorage.getItem('linkID'))
window.open(link[0], '_blank');
} else if ((parseInt(localStorage.getItem('linkID'))) >= 8) {
yourLink = parseInt(localStorage.getItem('linkID')) + 1;
localStorage.setItem('linkID', yourLink);
yourLink = parseInt(localStorage.getItem('linkID'))
window.open(link[1], '_blank');
yourLink = 0;
localStorage.setItem('linkID', yourLink);
}
可以用這個條件判斷是否是第一次
if(localStorage.getItem('linkID') == null){
// do your logic here
}
在您的問題中,數據在localStorage
中設置為parseInt(localStorage.getItem('linkID'))
任何時候都不會是NaN
。 所以你能做的是
var link = ["https://www.facebook.com/", "https://stackoverflow.com/"];
if(!localStorage.getItem('linkID')) {
localStorage.setItem('linkID', 0);
}
if ((parseInt(localStorage.getItem('linkID')))<= 7 ) {
yourLink = parseInt(localStorage.getItem('linkID')) + 1;
localStorage.setItem('linkID', yourLink);
yourLink = parseInt(localStorage.getItem('linkID'))
window.open(link[0], '_blank');
} else if ((parseInt(localStorage.getItem('linkID'))) >= 8) {
yourLink = parseInt(localStorage.getItem('linkID')) + 1;
localStorage.setItem('linkID', yourLink);
yourLink = parseInt(localStorage.getItem('linkID'))
window.open(link[1], '_blank');
yourLink = 0;
localStorage.setItem('linkID', yourLink);
}
希望這有助於解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.