如果可用,您可以使用localStorage
,如果不是的話,那麼使用Cookie(或任何你覺得):
var appToken = createToken();
try {
if (localStorage.getItem) {
localStorage.downloadAppAlert = appToken;
} else {
setCookie('downloadAppAlert', appToken, 10); // name, a string value, num. of days
}
} catch(e) {
console.log(e);
}
然後你可以使用一些功能來設置你的cookies - 即這一項,我只是在w3schools發現:
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
取回cookie的值由它的名字 - 在本例中downloadAppAlert - 您可以使用W3Schools的鏈接或類似這樣的東西就一個:
function readCookie(name) {
var nameEQ = name + '=';
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
此外,對localStorage
您只需檢索先前設置好的項目:
var appToken = localStorage.getItem('downloadAppAlert');
編輯:對不起,與趕到我忘了提什麼createToken()
一樣。它應該是一個隨機的字母數字發生器功能。您可以在SO找到很多,如:
Random alpha-numeric string in JavaScript?
Generate random string/characters in JavaScript
Generating (pseudo)random alpha-numeric strings
感謝您的詳細回覆。實際上,我正在更多地從一個圖書館中抽象出LS/cookies /其他東西之間的選擇...... – ecesena
好吧,希望這有助於防止爲您的目的找到已建成的圖書館。無論如何,恕我直言,爲這個特殊問題添加一個庫,而不需要某種級別的安全性,是沒有必要的。 – TMichel