【问题标题】:Javascript delete cookie before reload or redirectJavascript 在重新加载或重定向之前删除 cookie
【发布时间】:2013-07-11 00:41:07
【问题描述】:

我需要删除一个 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";
});

【问题讨论】:

    标签: javascript redirect cookies


    【解决方案1】:

    我发现,如果我对任何东西执行 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。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-29
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 2011-12-15
      • 1970-01-01
      • 2018-10-21
      相关资源
      最近更新 更多