上一篇介紹了分布引導插件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 // 寫字段到cookie 24 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 // 讀cookie 31 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
注意在服務器端運行,本地運行沒有效果