Abu*_*ail 4 javascript cookies
var CookieName = "TestCookie";
document.cookie = "CookieName=Cheecker; path =/; httponly=false;samesite=None;secure=true;"
alert(document.cookie);
if (document.cookie.indexOf(CookieName) == -1) {
console.log("Cookies are required to use shopping carts.");
}
if (document.cookie.indexOf(CookieName) != -1) {
console.log(
"Thank you for enabling Third-Party cookies we only using it for our shopping carts"
);
}
Run Code Online (Sandbox Code Playgroud)
我想检查用户浏览器中是否启用了第三方 cookie
这里有几个问题。我将回答您在标题中暗示的问题:为什么会收到“ Cookie "CookieName" has been rejected...”错误?
有两个原因,都可以在 Mozilla 的“使用 HTTP Cookies ”页面的“创建 Cookies”部分中确认:
第一:
HttpOnly 是一个标志,而不是一个变量。您已httponly=false;在 cookie 设置中调用。应该是这样HttpOnly;,顺便说一句,这同样适用Secure;。例子:
document.cookie = "CookieName=Cheecker; path =/; HttpOnly; samesite=None; Secure;"
Run Code Online (Sandbox Code Playgroud)
第二:
HttpOnly是一个将 cookie 限制为仅 HTTP 调用的设置。它们无法通过 JavaScript 访问...因此它们也无法通过 JavaScript 设置。来自 Mozilla 的页面:
Cookies created via JavaScript cannot include the HttpOnly flag.
Run Code Online (Sandbox Code Playgroud)
所以。我无法说明如何确定用户浏览器中是否设置了第三方 cookie,但您可以通过HttpOnly从 cookie 创建调用中删除该标志来解决错误。
| 归档时间: |
|
| 查看次数: |
4309 次 |
| 最近记录: |