检查客户端是否接受javascript中的cookie?
有没有办法检查客户端是否只接受带有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;
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,是否有其他方法可以做到这一点?当然,尝试设置一个并阅读它。