js判斷會話Cookie是否關閉

使用

navigator.cookieEnabled

可以一定程度上反應Cookie的關閉情況,返回true,表明Cookie可以使用,返回false,表明Cookie已關閉。

但在IE中,如果隱私設置中選擇了高級->覆蓋自動Cookie處理,並拒絕第一方及第三方Cookie,而沒有勾選總是允許會話Cookie的情況下,navigator.cookieEnabled依舊返回true,然而會話Cookie功能實際上已經關閉。

在判斷會話Cookie關閉時,我個人是這樣判斷的,首先向Cookie中添加一個測試cookie,然後再次獲取cookie,如果cookie爲空,說明Cookie已關閉,測試cookie添加失敗,代碼如下:

document.cookie="cookietest=true";

!navigator.cookieEnabled&&!document.cookie

上面僅供參考,如果考慮到每執行一次就向Cookie中添加一個測試cookie,可以給測試cookie設置一下存在時間或在使用完測試cookie以後手動刪除一下,設置cookie有效期及刪除cookie的代碼就不貼出來了,上網搜一下就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章