Gat*_*ler 9 javascript cookies
我想知道使用以下Javascript代码是否可靠:
if (!document.cookie) {
alert('Cookies are disabled.');
}
Run Code Online (Sandbox Code Playgroud)
我已经在IE,Firefox和Chrome中对此进行了测试,看来当您禁用cookie时,document.cookie对象变得不可用.有没有人有这种方法工作/不工作的经验?
非常感谢
斯蒂芬
额外
我很清楚这种方法需要在客户端上启用JavaScript.我也知道其他服务器端/ JavaScript解决方案.请讨论继续讨论主题.
Bol*_*wyn 10
在XHTML文档中,根本不存在document.cookie
(如果您将文档发送为Firefox 2或永远不会application/xml
).我必须痛苦地学习document
,然而它可以被设置:
document.cookie = "foo";
Run Code Online (Sandbox Code Playgroud)
这是有效的JS,浏览器耸耸肩并设置cookie
变量的属性document
.但是在HTTP标头中转换它的特殊魔法不会被调用.
简而言之:不,你不能确定,缺席document.cookie
总是与禁用的cookie相同,反之亦然.
在这种情况下我唯一可靠的方法(检查cookie是否被禁用,你不介意javascript问题,需要客户端解决方案)是使用set函数测试cookie,然后获取get函数读回来.如果无法回读测试cookie,则会关闭cookie.
您可以编写自己的实现,从quirksmode读取一个很好的资源,使用jQuery插件或开箱即用的解决方案.