Javascript navigator.cookieEnabled 浏览器兼容性

标签 javascript cookies

navigator.cookieEnabled 的支持程度如何?我可以在所有浏览器上安全地依赖它吗?

最佳答案

我知道它存在于 at least IE 6 and later , Firefox 1 and later , Dottoro 报告它是 supported by all major browsers .但是,它不是任何 DOM 规范的一部分,因此不能保证在所有浏览器中都可用或正确实现(例如,具有有限 DOM 实现的移动浏览器)。

正如一些人发现的那样,IE 对 navigator.cookieEnabled 返回 true即使当前站点的 cookie 被阻止。这意味着您目前根本无法依赖该属性,您应该完全避免它。

对于完整的跨浏览器 cookie 支持检查,您可能需要使用以下内容:

var cookies = ("cookie" in document && (document.cookie.length > 0 ||
        (document.cookie = "test").indexOf.call(document.cookie, "test") > -1));

演示:http://codetester.org/31011785

这将返回 false在禁用 cookie 或不支持 DOM 级别 2 属性的浏览器中 document.cookie ,这大约是您在 JS 中所能达到的程度。

关于Javascript navigator.cookieEnabled 浏览器兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6125330/

相关文章:

python - 在 Python 中解密 Chrome Linux BLOB 加密的 cookie

javascript - 在计时器中连续访问 cookie 的性能影响

javascript - 给定一个字符串,如何使用 JQuery 向其添加类?

javascript - 页面跳起来而不是向上滚动

Javascript:setAttribute 有效,getAttribute 失败

javascript - 未捕获的语法错误 : Unexpected string in my JavaScript

php - 在 cookie 中存储多个二进制值

jquery - 为什么 JSON.stringify() 不将数据传递给 $.cookie()

javascript cookie 值变量

Javascript 原型(prototype)覆盖