2017-01-05 45 views
-1

我正在創建一個記住您的名字的網站,並在您第二次重新加載頁面時歡迎您。我將數據存儲在localStorage中,因爲它比Cookie更好,並且永不過期,謝謝您的考慮!在localStorage中存儲提示響應並檢索

var person = prompt("please enter your name","you are..."); 
 
var person1 = +localStorage.getItem("person1"); 
 

 
if(person1 == null){ 
 
    alert(person); 
 
    localStorage.setItem("person1"); 
 
} 
 
if(person1 != null){ 
 
alert("welcome back " + person + "!"); 
 
}

+0

爲什麼在localStorage之前有一個'+'?你在哪裏看到一個參數的setItem? [文檔顯示了兩個。](https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem) – epascarello

回答

1

好一個,person總是會被提示因爲你沒有提示之前檢查localStorage.getItem。其次,由於您沒有提供第二個參數,因此您實際上沒有設置localStorage.setItem

您可能需要類似以下內容:

var username = localStorage.getItem("username"); 
if(!username){ 
    username = prompt("Please enter username"); 
    localStorage.setItem("username", username); 
} 

要知道,就像在你的setItem使用,JavaScript就不會發出警告,或者如果參數不被提供給一個函數調用有一個錯誤。一定要檢查你是否確實通過了必要的。

您還需要注意的是,並非所有瀏覽器都支持localStorage。您可能需要閱讀諸如this one之類的問題,以瞭解localStorage和cookie之間的其他差異。其中一個重要的是localStorage是客戶端,而cookies是服務器端。

+0

謝謝丹尼爾!如果JavaScript對我來說是有意義的,我還算是一個溫和的初學者,我的第一年編程主要是HTML和CSS,這僅僅是我第二年。但再次感謝你幫助像我這樣的人! –

相關問題