在它最簡單的形式:localStorage的與Json.stringify不堅持
localStorage.setItem('index0', JSON.stringify(playerInventory[lootArray[0]]));
var retrievedIndex0 = localStorage.getItem('index0');
console.log('retrieved0:'+retrievedIndex0); //Displays correct amount
因此,我認爲這是工作,但當時如果我不使用的getItem之前立即setItem,則返回null,或者如果我setItem ,打F5,'index0'變爲空...
if(localStorage.getItem('index0') < playerInventory[lootArray[0]]) {
console.log('bingo! ');
localStorage.setItem('index0', JSON.stringify(playerInventory[lootArray[0]])); }
這個^會輸出'bingo!'到日誌(在Firefox中),但setItem不會更新localStorage。如果我重播的比賽,它會爲空,如果我不的getItem前再次setItem ...
這將觸發正確,以及...
var oldscore = localStorage.getItem('index0');
var newscore = playerInventory[lootArray[0]];
if(oldscore < newscore) { console.log('new high score');}
但setItem不會更新localStorage的.. ..和如果我打F5和重播的比賽這將是空
if(oldscore < newscore) {
console.log('new high score'); //This fires
localStorage.setItem('index0', JSON.stringify(playerInventory[lootArray[0]])); //this doesnt
}
如果我去我的主要更新()循環,並提出:
console.log(localStorage.getItem('index0')); //returns null
console.log(localStorage.getItem.index0); //returns undefined
任何人看到任何錯誤,或有任何其他測試我可以做?
playerInventory [lootArray [0]]擁有我想要使用的數字,與localstorage比較,當它更高時更新到localstorage ....我使用該對象以當前值更新屏幕上的div,所以我知道它持有我想要保存/恢復的整數.................................
我剛剛在IE中測試過,它根本不起作用:錯誤:即使在本文頂部的基本第一部分也會引發錯誤。
SCRIPT5007:無法獲取財產「的getItem」的價值:目標是 null或undefined
我可以設置在同一個函數的項目使用的getItem之前,它顯然不是空在那但它並沒有超越這一點......