检查客户端是否接受javascript中的cookie?

Pau*_*ulo 16 javascript cookies

有没有办法检查客户端是否只接受使用javascript代码的cookie?

Ben*_*ery 24

这应该做的伎俩:

function areCookiesEnabled() {
  document.cookie = "__verify=1";
  var supportsCookies = document.cookie.length >= 1 && 
                        document.cookie.indexOf("__verify=1") !== -1;
  var thePast = new Date(1976, 8, 16);
  document.cookie = "__verify=1;expires=" + thePast.toUTCString();
  return supportsCookies;
}
Run Code Online (Sandbox Code Playgroud)

这会设置一个基于会话的过期cookie,检查它是否存在,然后在过去再次设置它,将其删除.

  • 为什么`document.cookie.length> 1`而不是`document.cookie.length> = 1`? (4认同)

Zam*_*han 5

cookieEnabled属性返回一个布尔值,指定是否在浏览器中启用了cookie

<script>
if (navigator.cookieEnabled) {
    // Cookies are enabled
}
else {
    // Cookies are disabled
}
</script>
Run Code Online (Sandbox Code Playgroud)

  • 从一个较新的IE版本中模拟旧的IE版本,在我的经验中并不是非常值得信赖.这是温和的.此外,浏览器在"被问到"时确实有说谎自己能力的历史.实际上测试一个功能通常是一个好主意. (2认同)