Microsoft Edge Extension document.cookie无声地执行存储失败

时间:2016-08-16 14:37:36

标签: javascript session cookies microsoft-edge microsoft-edge-extension

我有一个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 ""; 

1 个答案:

答案 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/