删除具有相同名称但不同路径的cookie
Removing cookies with the same name but different paths
我需要删除具有相同名称但具有不同路径的客户端cookie。在javascript中,最好的方法是什么?
只需指定要删除的cookie的相同路径,并给出过期时间。
document.cookie = 'name=value1; path=/';
document.cookie = 'name=value2; path=/path/';
alert(document.cookie); // name=value1; name=value2
document.cookie = 'name=; path=/path/; expires=' + new Date(0).toUTCString();
alert(document.cookie); // name=value1
将其更改为使路径为/
的cookie过期,仍然只会使其中一个cookie过期——给定的路径必须与路径设置相匹配:
document.cookie = 'name=; path=/; expires=' + new Date(0).toUTCString();
alert(document.cookie); // name=value2
要同时删除它们,你必须让它们的路径过期:
document.cookie = 'name=; path=/; expires=' + new Date(0).toUTCString();
document.cookie = 'name=; path=/path/; expires=' + new Date(0).toUTCString();
alert(document.cookie); // {blank}
现在,这些示例假设您正在浏览/path/
或它的子目录。
[编辑]
要批量删除,请尝试这样做:
function expireAllCookies(name, paths) {
var expires = new Date(0).toUTCString();
// expire null-path cookies as well
document.cookie = name + '=; expires=' + expires;
for (var i = 0, l = paths.length; i < l; i++) {
document.cookie = name + '=; path=' + paths[i] + '; expires=' + expires;
}
}
expireAllCookies('name', ['/', '/path/']);
演示:http://jsfiddle.net/M2dZ3/
您也可以通过拆分和迭代window.location.pathname
来伪造路径查找:
function expireActiveCookies(name) {
var pathname = location.pathname.replace(/'/$/, ''),
segments = pathname.split('/'),
paths = [];
for (var i = 0, l = segments.length, path; i < l; i++) {
path = segments.slice(0, i + 1).join('/');
paths.push(path); // as file
paths.push(path + '/'); // as directory
}
expireAllCookies(name, paths);
}
演示:http://jsfiddle.net/M2dZ3/2/
相关文章:
- 在jquery中为显示/隐藏设置cookie
- Javascript:使用绝对路径设置img src
- 如何在d3.js中返回路径的y坐标
- 在相对于用户当前 URL 路径的不同路径中设置 Cookie
- 铬更改 cookie 路径
- 获取JS中特定路径的cookie,不包括根路径
- 使用 javascript 设置的 cookie,无法使用 PHP 识别(相同的域和路径)
- Javascript document.cookie无法使用自定义路径
- 我正在尝试设置cookie及其路径,但无法正确设置路径
- Javascript cookie.未设置路径
- Chrome没有将cookie路径设置为root
- 是否有可能使用localstorage与上下文每路径像cookie
- 如何使用javascript获取cookie的路径
- cookie如何识别名称、过期日期、路径
- 如何从存储在cookie中的图像路径加载图像
- 无法在javascript的路径/中访问cookie
- 如何在JavaScript中保存cookie值时设置路径?
- 删除具有相同名称但不同路径的cookie
- 设置Cookie路径
- 如何使用javascript获得指定的Cookie路径