創(chuàng)建cookie之后,可能出于各種原因需要將其刪除。比如用戶名與密碼保存一天、一周或者一月等設置。最近文匯軟件小編就接到了這樣一個需求。
要求在后臺管理員賬號無操作15分鐘內重新登錄。苦思許久想到了刪除cookie這一方式來實現功能。
惡補了一些相關知識,小編也是對其有所了了解:
cookie的刪除一般有兩種:
其一:沒有顯示設置cookie的過期時間.
如果沒有顯示設置cookie的過期時間 ,cookie不會存入本地硬盤,僅僅保留在內存中,關閉瀏覽器時就會自動刪除,不用我們控制生命周期。
其二:顯示設置cookie的過期時間。
大多時候cookie的生命周期都是人為設置的,已達到某些需求。
比如常見的用戶名密碼保存一個小時,一天,一周等等,通過Expires屬性即可實現。
當當前時間超過Expires屬性值的時候cookie就會被自動刪除。
在js中并沒有直接刪除cookie的接口 但是可以利用設置cookie的過期時間來實現刪除功能。
代碼實例如下:
//取cookies function getCookie(name){ let arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; } //刪除cookie function delCookie(name){ var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString()+";path=/"; }
name就是你想要獲取或者刪除的cookie的名字了(瀏覽器F12 Application 中可查看)。
接下來監(jiān)聽頁面上的事件,滿足條件的時候調用函數就OK了。
下面拋一個問題 ,也是文匯小編在實現這個功能時所遇到的一個問題“如何監(jiān)聽iframe頁面鼠標位置信息”感興趣的小伙伴可以試試,歡迎留言討論。
上一篇: 前端常用的20個字符串方法和使用方式