我有一个基于jQuery的网络应用程序.我的要求非常简单:我想使用jQuery来确定用户是否在其Web浏览器中启用或禁用了cookie.我知道有一个可用的插件可用于创建/检索/删除/更新cookie.但是,有没有一种方法可以检测用户代理的设置?
Sar*_*raz 40
你不需要jQuery,你可以使用vanilla 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);
}
Run Code Online (Sandbox Code Playgroud)
http://sveinbjorn.org/cookiecheck
Internet Explorer(至少版本10)始终返回true navigator.cookieEnabled.这是解决此问题的方法:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27743 次 |
| 最近记录: |