我正在尝试遵守新的欧盟法律的cookie立法,并且需要在用户同意之前删除我网站上的所有cookie。目前我使用的成功以下内容:使cookie过期
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[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";
}
}
然而,一旦这个过程中运行还是有一个名为ASP.NET_SessionID的cookie是由ASP.NET创建。为了克服这个问题我设置基本上存储会话ID在URL中的web.config文件中的以下内容:
<sessionState regenerateExpiredSessionId="true" cookieless="true" />
我的问题是,当我设置cookie的=“真”的使用JavasScript上面的代码不会删除我的任何饼干,就像它变得多余。当我设置cookieless =“false”时,javascript完美地工作。是否还有其他设置需要更改才能使两者协同工作?
感谢
这个cookie在关闭浏览器或所有页面时会自动删除,因为是会话cookie(它仅适用于当前会话)。所以不要担心。您可以设置会话状态cookie到期的时间。 – Aristos 2012-04-18 13:53:28