Javascript在重新加载或重定向之前删除cookie

时间:2013-07-11 00:41:08

标签: javascript redirect cookies

我需要删除一个cookie,然后进行重定向。但是,在处理重定向之前,cookie不会被删除。问题是如果在执行重定向时cookie仍然存在,则拦截重定向并将其发送到除预期之外的页面。 (很奇怪,我知道;长篇故事)

是否有可能欺骗浏览器并在重定向之前强制删除cookie?

jQuery('div#panelD').click(function(){
    document.cookie = 'sharedsession=; expires=Thu, 01 Jan 1970 00:00:01 GMT; Domain=.example.com; path=/';
    window.location.href = "www.example.com/x";
});

1 个答案:

答案 0 :(得分:0)

我发现如果我对任何事情执行AJAX调用,它就有资格刷新以删除cookie。

var fakeAjax = new XMLHttpRequest();
var anything = fakeAjax.responseText;
fakeAjax.open("GET","ajax_info.txt",false);  // file doesn't actually exist
fakeAjax.send();

请注意打开行中的“false”。异步必须设置为false(或其他一些延迟),以便有时间让新信息返回并删除co​​okie。

UPDATE: IE不喜欢从不存在的文件中请求responseText,因此只需完全删除该行。无论是否使用它,其他浏览器似乎都没问题。