在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:试图突破 用户代理的安全策略。
有人对这个问题有想法吗?
答案 0 :(得分:0)
另一个浏览器可能具有由其他来源创建的其他Cookie,这些其他来源您的脚本没有删除权限。尝试将所有cookie都转储到console.log中以进行验证。
答案 1 :(得分:0)
我已经在webos 1.x和2.x中看到此错误。如果您的应用程序存储在本地(内置于ipk中),则操作系统会强制使用file://访问协议。您可以检查此thread
LG建议使用webStorage或通过webserver投放您的应用
PS:托管的Web应用程序将使用HTTP / HTTPS协议访问文档