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/