2016-11-13 73 views
0

我想創建一個腳本,當用戶打開網站時,他或她會受到提示的歡迎,並且在提示後會說歡迎,而且還會在提示中輸入什麼將設置一個cookie 1分鐘,我所面臨的問題是:
1.警報顯示不出來
2. cookie將不設置使用Cookies在javascript中設置警報

function checkCookie() 
{ 
    var username=getCookie("username"); 
    if (username!=null && username!="") { 
     alert("Welcome again "+ username); 
    } 
    else { 
     username=prompt("Please input name:",""); 
     if (username !=null && username!="") { 
      setCookie("username", username, 365); 
     } 
     else { 
      alert("Error"); 
     } 
    } 
} 
function setCookie (cname,cvalue,exdays) 
{ 
    var d = new Date(); 
    d.setTime (d.getTime()+ (10*1000)); 
    var expires ="; expires= "+ d.toGMTString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; +"; path /"; 
} 
function getCookie(cname) 
{ 
    var name = cname + "="; 
    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); 
     } 
     if (c.indexOf(name) == 0){ 
      return c.substring(name.length, c.length); 
     } 
    } 
    return ""; 
} 
+0

你是否嘗試過日誌記錄以查看哪部分代碼爲什麼不工作。你可以用console.log()來試試嗎? – MatejMecka

+0

在控制檯中沒有錯誤 –

+0

我敢打賭,你的代碼沒有什麼問題它只是到期時間很短(只需10秒) – Viney

回答

0

嘗試用var expires ="; expires= "+ d.toUTCString();

更換var expires ="; expires= "+ d.toGMTString();過期時間保存爲Unix tim estamp。

編輯: 您還需要執行函數checkCookie。我認爲這很明顯。

https://jsfiddle.net/osgohu5b/

+0

我的問題是循環不shwo警報 –

+0

什麼循環,你的意思是? – 2016-11-13 11:25:52