【发布时间】:2025-12-13 16:20:03
【问题描述】:
有没有办法检查客户端是否只接受带有 javascript 代码的 cookie?
【问题讨论】:
-
当然,尝试设置一个并阅读它。
标签: javascript cookies
有没有办法检查客户端是否只接受带有 javascript 代码的 cookie?
【问题讨论】:
标签: javascript cookies
这应该可以解决问题:
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,检查它是否存在,然后在过去再次设置它,将其删除。
【讨论】:
document.cookie.length > 1 而不是document.cookie.length >= 1?
cookieEnabled 属性返回一个布尔值,指定浏览器中是否启用 cookie
<script>
if (navigator.cookieEnabled) {
// Cookies are enabled
}
else {
// Cookies are disabled
}
</script>
【讨论】:
对于那些使用jQuery 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.
}
【讨论】: