js利用cookie實現記住用戶頁面操作

前言

開發過程中,有時候會遇到一些類似需求,比如記住用戶在瀏覽器層面所做的操作。之前做過一個功能,當時使用瞭一個拖拽插件展示一個類似九宮格的報表圖,每個圖形都可以顯示和隱藏,如果用戶點擊瞭顯示或隱藏按鈕,那麼下次進入系統時瀏覽器保留上一次的操作結果。核心部分是使用js對cookie進行操作,具體業務部分則是觸發點擊圖形事件時,如果是隱藏,則將該圖形對應的div從cookie中刪除,點擊顯示時,將圖形div寫入cookie。本文隻記錄cookie部分操作,具體業務代碼大傢可以根據自己的實際情況去寫。

什麼時cookie?

  • cookie有4kb大小,超出長度會返回空字符串;
  • cookie存放在客戶端,可以方便的修改查看,所以不能用cookie存放重要信息;
  • cooki生命周期會在關閉瀏覽器以後結束,如果要在一段事件內使用,我們可以為cookie設置有效時間;

Cookie,有時也用其復數形式 Cookies,指某些網站為瞭辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。定義於 RFC2109 和 2965 中的都已廢棄,最新取代的規范是 RFC6265 [1] 。(可以叫做瀏覽器緩存)
——引用自百度百科

方法如下

1.設置cookie 參數: cname:cookie 名稱,cvalue:cookie 值 ,exdays:cookie 的過期時間

function setCookie(cname,cvalue,exdays)
{
 var d = new Date();
 d.setTime(d.getTime()+(exdays*24*60*60*1000));
 var expires = "expires="+d.toGMTString();
 document.cookie = cname + "=" + cvalue + "; " + expires;
}

2.獲取cookie

function getCookie(cname)
{
 var name = cname + "=";
 var ca = document.cookie.split(';');
 for(var i=0; i<ca.length; i++) 
 {
 var c = ca[i].trim();
 if (c.indexOf(name)==0) return c.substring(name.length,c.length);
 }
 return "";
}

3.刪除cookie

function delCookie(cname)
{
 var exp = new Date(); 
 exp.setTime(exp.getTime()-1); 
 var cval = getCookie(cname);
 if(cval != null){
	document.cookie = cname + "=" + cval + ";expires=" + exp.toGMTString();
 }
}

希望這篇文章對你有所幫助,如果有用的話,記得關註我吆,後期持續為大傢輸出更多內容

參考:cookie操作

總結

到此這篇關於js利用cookie實現記住用戶頁面操作的文章就介紹到這瞭,更多相關js cookie記住用戶內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: