標籤:比較 cookie for new time() 標誌位 伺服器端 etc 代碼
上一篇介紹了分布引導外掛程式IntroJs的使用,本篇介紹通過Js操作cookie的方法。
分步引導的功能只適合與第一次登陸網站的新使用者,不能每次登陸都提示分布引導,那麼如何判斷使用者是否第一次登入網站呢?
通過Js操作瀏覽器Cookie,方法有很多種,大多數是通過js擷取到cookie儲存的索引值對,然後找到需要的哪一個鍵,在判斷值,但是這種方案比較繁瑣,現在給出一種新的想法。手動設定一個欄位到cookie中,這樣每次只判斷是否有這個欄位即可。代碼如下:
1 <script type="text/javascript"> 2 $(document).ready(function() { 3 var newVisitor = isNewVisitor();// 如果是新訪客 4 if(newVisitor === true) 5 { 6 // 動畫彈出訊息框 7 alert(‘您是新使用者!‘); 8 9 // 標記:已經向該訪客彈出過訊息。30天之內不要再彈10 setCookie("gznotes-visited","true", 5);11 }12 });13 14 function isNewVisitor() {15 // 從cookie讀取“已經向訪客提示過訊息”的標誌位16 var flg = getCookie("gznotes-visited");17 if (flg === "") {18 return true;19 } else {20 return false;21 }22 }23 // 寫欄位到cookie24 function setCookie(cname, cvalue, exdays) {25 var d = new Date();26 d.setTime(d.getTime() + (exdays*24*60*60*1000));27 var expires = "expires="+d.toUTCString();28 document.cookie = cname + "=" + cvalue + "; " + expires +";path=/";29 } 30 // 讀cookie31 function getCookie(cname) {32 var name = cname + "=";33 var ca = document.cookie.split(‘;‘);34 for(var i=0; i<ca.length; i++) {35 var c = ca[i];36 while (c.charAt(0)==‘ ‘) c = c.substring(1);37 if (c.indexOf(name) == 0) return c.substring(name.length,c.length);38 }39 return "";40 }41 </script>42
注意在伺服器端運行,本地運行沒有效果
分步引導中,Js操作Cookie,實現判斷使用者是否第一次登陸網站