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!
推薦閱讀:
- JavaScript實現cookie的操作
- vue登錄頁實現使用cookie記住7天密碼功能的方法
- Vue實現登錄記住賬號密碼功能的思路與過程
- 詳解操作cookie的原生方法cookieStore
- Cookie的工作原理和應用詳解