2016-04-14 145 views
0

我在尝试使用JavaScript来启用或禁用Cookie。如何查找浏览器的cookies是启用还是禁用?

详细描述

我已经建立在J​​avaScript的函数,如下:

if (navigator.cookieEnabled != true) { 
       alert("Cookies are not enabled, Please enable cookies to continue logging in ProjectName"); 
      } 

我已经把该函数在onload在页面的主体中。请注意,此功能适用于Chrome和Firefox。

但它是不工作的IE11,原因是navigator.cookieEnabled总是返回true即使cookie是禁用或封锁所以请推荐其他方式或添加评论,使这一权利。 也使用document.cookies.length但即使禁用了cookie也返回true。

+0

你开到使用库 - 如果是这样的https:/ /modernizr.com/已经有这方面的检查(检查cookie在https://modernizr.com/docs) – potatopeelings

+1

可能重复的[jQuery检测Cookie启用](http://stackoverflow.com/questions/8112634/jquery-detecting -cookies-enabled) – smnbbrv

+0

@TrilokPathak根据你在这里发布的代码,你没有尝试任何他们在那里给出的解决方案 – smnbbrv

回答

2

如果你不想使用图书馆,你可以只使用相关位从库中,像这样(从https://github.com/Modernizr/Modernizr/blob/74655c45ad2cd05c002e4802cdd74cba70310f08/feature-detects/cookies.js

function supportsCookies() { 
    try { 
     // Create cookie 
     document.cookie = 'cookietest=1'; 
     var ret = document.cookie.indexOf('cookietest=') != -1; 
     // Delete cookie 
     document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; 
     return ret; 
    } 
    catch (e) { 
     return false; 
    } 
} 
+0

这里的ie和铬它ret是真的那是什么意思? – Developer

+0

true表示支持cookie。因此,如果您的IE和Chrome版本为true,则表示您的IE和Chrome配置支持Cookie。 – potatopeelings

+0

在IE中,cookies被禁用仍然代码返回我真正的我想要的是我想要找到浏览器设置cookie是否启用,通过javascript。请注意。 – Developer

相关问题