我有一个chrome扩展名,我将一个cookie存储在document.cookie中。每次用户打开弹出窗口时都会重新提取。
我使用Microsoft Edge转换器工具将转换扩展为支持边缘浏览器。这一切都按预期工作。
但是cookie永远不会被持久化,这是边缘浏览器的限制吗?或者我错过了什么?
我可以设置,然后直接获取cookie,它永远不会被返回。
以下复制是设置cookie的来源
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));var expires = "expires="+ d.toUTCString();
var path = "path='/'";
document.cookie = cname + "=" + (cvalue) + "; " + expires + "; path=/;";
获取cookie:
var ca = document.cookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return (c.substring(name.length,c.length));
}
}
return "";
答案 0 :(得分:1)
IE / Edge会在以下情况下默默地删除Cookie:
在顶级域名上,例如“example.com” 在包含下划线的域名上,例如“my_sub.doma.in”
https://blogs.msdn.microsoft.com/ieinternals/2009/08/20/internet-explorer-cookie-internals-faq/