使用javascript删除所有无法使用的cookie

时间:2018-12-05 16:57:43

标签: javascript cookies webos

在HTML页面上,我使用此javascript代码设置Cookie

this.store.setItem = function(name, value) {
    document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires;
};

我正在尝试创建一个函数,以删除可能通过上一个函数设置的所有cookie。我发现与使用JavaScript清除Cookie的方法不同的threat ...这是我已经测试过的代码示例

deleteAllCokies : function() {
    var res = document.cookie;
    var multiple = res.split(";");
    for(var i = 0; i < multiple.length; i++) {
        var key = multiple[i].split("=");
        document.cookie = key[0]+" =; expires = Thu, 01 Jan 1970 00:00:00 UTC";
    }
}

该代码可在运行最新浏览器的计算机上完美运行。但是,当我在较旧的浏览器上尝试代码时(我将页面作为webOS应用程序运行),尝试删除Cookie时出现错误

  

SecurityError:DOM异常18:试图突破   用户代理的安全策略。

有人对这个问题有想法吗?

2 个答案:

答案 0 :(得分:0)

另一个浏览器可能具有由其他来源创建的其他Cookie,这些其他来源您的脚本没有删除权限。尝试将所有cookie都转储到console.log中以进行验证。

答案 1 :(得分:0)

我已经在webos 1.x和2.x中看到此错误。如果您的应用程序存储在本地(内置于ipk中),则操作系统会强制使用file://访问协议。您可以检查此thread

LG建议使用webStorage或通过webserver投放您的应用

PS:托管的Web应用程序将使用HTTP / HTTPS协议访问文档