js利用cookie實現(xiàn)記住用戶頁面操作
開發(fā)過程中,有時候會遇到一些類似需求,比如記住用戶在瀏覽器層面所做的操作。之前做過一個功能,當時使用了一個拖拽插件展示一個類似九宮格的報表圖,每個圖形都可以顯示和隱藏,如果用戶點擊了顯示或隱藏按鈕,那么下次進入系統(tǒng)時瀏覽器保留上一次的操作結(jié)果。核心部分是使用js對cookie進行操作,具體業(yè)務部分則是觸發(fā)點擊圖形事件時,如果是隱藏,則將該圖形對應的div從cookie中刪除,點擊顯示時,將圖形div寫入cookie。本文只記錄cookie部分操作,具體業(yè)務代碼大家可以根據(jù)自己的實際情況去寫。
什么時cookie? cookie有4kb大小,超出長度會返回空字符串; cookie存放在客戶端,可以方便的修改查看,所以不能用cookie存放重要信息; cooki生命周期會在關(guān)閉瀏覽器以后結(jié)束,如果要在一段事件內(nèi)使用,我們可以為cookie設置有效時間;Cookie,有時也用其復數(shù)形式 Cookies,指某些網(wǎng)站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密)。定義于 RFC2109 和 2965 中的都已廢棄,最新取代的規(guī)范是 RFC6265 [1] 。(可以叫做瀏覽器緩存)——引用自百度百科
方法如下1.設置cookie 參數(shù): 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(); }}
希望這篇文章對你有所幫助,如果有用的話,記得關(guān)注我吆,后期持續(xù)為大家輸出更多內(nèi)容
參考:cookie操作
總結(jié)到此這篇關(guān)于js利用cookie實現(xiàn)記住用戶頁面操作的文章就介紹到這了,更多相關(guān)js cookie記住用戶內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用.net core 自帶DI框架實現(xiàn)延遲加載功能2. php網(wǎng)絡安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究3. Angular獲取ngIf渲染的Dom元素示例4. php面向?qū)ο蟪绦蛟O計介紹5. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附json.min.asp6. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁7. 三個不常見的 HTML5 實用新特性簡介8. php測試程序運行速度和頁面執(zhí)行速度的代碼9. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析10. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析
