使用
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的代码就不贴出来了,上网搜一下就可以了。