如何以编程方式清除驻留在浏览器内存中的会话cookie,最好使用javascript?
由于它是会话Cookie并且没有到期日期,因此设置过去的过期日期将不会像持久性Cookie那样有效。
我的网站有一个当前会话,但我们有一个连接到另一个网站的iframe。该站点创建会话cookie。我想清除他们的会话cookie而不影响我们的会话。我可以通过clear cookies选项在Firefox中完成,但我需要以编程方式进行。
由于
我从未尝试过以下删除Cookie的方法,因为我读到会话cookie没有过期日期,但这是我发现的内容。这会重置会话cookie吗?我知道这会删除所有cookie,但我可以修改它。
function deleteCookies() {
var allcookies = document.cookie.split(";");
for (var i = 0; i < allcookies.length; i++) {
var cookie = allcookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
答案 0 :(得分:0)
简而言之,如果iframe是从运行JavaScript的页面的其他域加载的,那么您就无法访问cookie。这是安全限制。
如果iframe是与您的JavaScript相同的域和页面,那么您可以通过查看到期日期或为其分配空值来删除iframe的cookie。