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

检查客户端是否接受javascript中的cookie?,javascript,cookies,Javascript,Cookies,有没有办法检查客户端是否只接受带有javascript代码的cookie?这应该可以做到: function areCookiesEnabled() { document.cookie = "__verify=1"; var supportsCookies = document.cookie.length >= 1 && document.cookie.indexOf("__verify=1") !== -1;

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

这应该可以做到:

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;
}
这将设置一个基于会话过期的cookie,检查它是否存在,然后在过去再次设置它,并将其删除。

对于那些使用来管理和创建cookie的人,这里有一个简单的方法来检查cookie,并在检查cookie后,根据启用或禁用的cookie运行一个函数

//Create Session Cookie
$.cookie('test-for-cookie', '1');

//Test for Session Cookie
var yesCookie = $.cookie('test-for-cookie');
if  (yesCookie == 1) { 
    //Run function if cookies are enabled.
} else{
    //If cookies are not enabled run this function.
} 

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

<script>
if (navigator.cookieEnabled) {
    // Cookies are enabled
}
else {
    // Cookies are disabled
}
</script>

if(navigator.cookieEnabled){
//Cookie已启用
}
否则{
//Cookie被禁用
}

为什么
document.cookie.length>1
而不是
document.cookie.length>=1
?它不适用于ie。对于chrome和firefox,禁用cookie时返回false,但对于ie,尽管禁用cookie,但返回true,请注意,我使用的是IE11。请帮忙@Stephen在IE10中进行仿真时,它似乎至少在IE7中起作用。你有什么来源吗?根据我的经验,从一个新的IE版本模仿一个旧的IE版本是不值得信任的。说得委婉一点。此外,浏览器在“被问到”时也有谎报其功能的历史。实际上,测试一个功能通常是个好主意。navigator.cookieEnabled对于IE11总是返回true,是否有其他方法可以做到这一点?当然,尝试设置一个并阅读它。