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

2023-12-02

我需要删除一个cookie并且then进行重定向。然而,在处理重定向之前,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";
});

我发现如果我对任何内容执行 AJAX 调用,它就符合删除 cookie 目的的刷新。

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

请注意 Open 行中的“false”。异步必须设置为 false(或其他延迟),以便有时间返回新信息并删除 cookie。

UPDATE:IE 不喜欢从不存在的文件请求responseText,因此只需完全删除该行即可。其他浏览器似乎无论有没有它都很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 在重新加载或重定向之前删除 cookie 的相关文章

随机推荐