如何删除名称为 roundcube_sessauth
的特定 cookie?
不应该是:
function del_cookie(name) {
document.cookie = 'roundcube_sessauth' +
'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
然后:
<a href="javascript:del_cookie(name);">KILL</a>
杀死 roundcube_sessauth
cookie?
最佳答案
您应该定义 cookie 所在的路径,以确保您删除的是正确的 cookie。
function set_cookie(name, value) {
document.cookie = name +'='+ value +'; Path=/;';
}
function delete_cookie(name) {
document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
如果您不指定路径,浏览器将设置一个与您当前所在页面相关的 cookie,因此如果您在不同页面上删除该 cookie,另一个 cookie 将继续存在。
根据@Evan Morrison 的评论进行编辑。
请注意,在某些情况下,要识别正确的 cookie,需要 Domain
参数。
通常它被定义为 Domain=.yourdomain.example
。
在您的域名前放置一个点 表示该 cookie 可能存在于任何子域(www
也算作子域)。
此外,正如@RobertT 的回答中提到的,HttpOnly
cookie 无法在客户端使用 JavaScript 删除。
关于javascript - 按名称删除 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10593013/