是否可以检查是否使用modernizr启用了cookie?

ddi*_*ppa 8 browser cookies modernizr

我正在研究如何检查cookie是否在浏览器中启用,我找到了很多答案,我甚至测试了一些,但之后我的一个朋友建议我使用Modernizr.
我开始搜索那个,我发现了很多与CSS3HTML5有关的东西,但我不想那样,我只想知道是否可以用Modernizr检查是否启用了cookie

小智 8

下面的代码是从http://sveinbjorn.org/cookiecheck复制的.

function are_cookies_enabled()
{
    var cookieEnabled = (navigator.cookieEnabled) ? true : false;

    if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
    { 
        document.cookie="testcookie";
        cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
    }
    return (cookieEnabled);
}
Run Code Online (Sandbox Code Playgroud)

  • 小心这个...`navigator.cookieEnabled`总是在IE9中返回`true` (2认同)

Sim*_*ver 5

这个问题的直接答案是"是的!" 它是内置的

示例代码:

if (Modernizr.cookies == false) {

    alert('Please enable cookies');    
}
else { 
    // do something with cookies
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用css类.cookies.no-cookies显示/隐藏面板,告诉用户他们需要启用Cookie.

.cookies #noCookies
{
    display: none;
}

<div id='#noCookies'>
   This site requires cookies! Please turn them on already!
</div>
Run Code Online (Sandbox Code Playgroud)

(此类由Modernizr .cookies添加到<body>标记中).

注意:如果您要创建Modernizr的自定义版本,则该cookies选项当前在"非核心检测"部分下"隐藏".