首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >已启用jQuery检测cookies

已启用jQuery检测cookies
EN

Stack Overflow用户
提问于 2011-11-13 23:37:31
回答 6查看 29.5K关注 0票数 22

我有一个基于jQuery的web应用。我的要求相当简单:我想使用jQuery来查看用户是否在其web浏览器中启用或禁用了cookies。我知道有一个插件可以用来创建/检索/删除/更新cookie。但是,jQuery有没有办法检测用户代理的设置呢?

EN

回答 6

Stack Overflow用户

发布于 2011-11-13 23:40:06

你不需要jQuery,你可以使用vanilla Javascript:

代码语言:javascript
复制
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);
}

http://sveinbjorn.org/cookiecheck

票数 41
EN

Stack Overflow用户

发布于 2013-08-08 05:20:18

对于navigator.cookieEnabled,Internet Explorer (至少是版本10 )总是返回true。以下是一种解决此问题的方法:

代码语言:javascript
复制
function areCookiesEnabled() {
    var cookieEnabled = navigator.cookieEnabled;

    // When cookieEnabled flag is present and false then cookies are disabled.
    if (cookieEnabled === false) {
        return false;
    }

    // try to set a test cookie if we can't see any cookies and we're using 
    // either a browser that doesn't support navigator.cookieEnabled
    // or IE (which always returns true for navigator.cookieEnabled)
    if (!document.cookie && (cookieEnabled === null || /*@cc_on!@*/false))
    {
        document.cookie = "testcookie=1";

        if (!document.cookie) {
            return false;
        } else {
            document.cookie = "testcookie=; expires=" + new Date(0).toUTCString();
        }
    }

    return true;
}
票数 7
EN

Stack Overflow用户

发布于 2011-11-14 00:26:11

最简单的方法是检查包含浏览器信息的navigator属性。Reference

您可以使用navigator.cookieEnabled === true来检测浏览器对cookie的支持。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8112634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档