您应该定义 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.com. 在您的域名前
放置一个点表示此 cookie 可能存在于任何子域(www也算作子域)中。
此外,正如@RobertT 的回答中所述,HttpOnly无法在客户端使用 JavaScript 删除 cookie。