是一个简单的注销脚本,可以通过单击我网站导航栏中的“LOGOUT”锚点来触发。 代码在chrome中运行良好但在firefox中没有做任何事情。
$('a#UserLogout').on('click', function(e){
e.preventDefault;
document.cookie = '_session_login=""; expires="Thu, 01-Jan-70 00:00:01 GMT";';
location.reload();
});
PS。我有另一个语言偏好的cookie,它的工作代码如下:
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
location.reload();
}
我尝试在周日使用-365
,但效果不佳
答案 0 :(得分:2)
我遇到了这个问题(FF 29),解决方法是在设置cookie时设置路径。它不应该是需要的,因为通过规范(以及根据MDN)当路径被省略时,它应该默认为当前路径,但是它可能默认为/(root)或其他东西。
无论如何,在我的情况下,我正在删除域子文件夹中的cookie(例如www.example.com/SubFolder/
)并指定匹配路径(例如SubFolder
)允许我删除cookie。
通常将cookie路径设置为location.pathname应该可以解决问题。
答案 1 :(得分:1)
删除额外的引号并将其更改为此
document.cookie = '_session_login=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
此外,您应该告诉浏览器强制从服务器加载页面,而不是缓存
window.location.reload(true);
答案 2 :(得分:1)
尝试使用1970
document.cookie = '_session_login=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';