代码之家  ›  专栏  ›  技术社区  ›  krukid

IE6+中的Cookie,Safari vs.Opera,Firefox(JQuery)

  •  1
  • krukid  · 技术社区  · 16 年前

    我发现IE+Safari/Opera+Firefox中的cookie行为在使用“后退”按钮导航时有一个奇怪的差异:

    后一种行为是我所需要的,但是如果这是可能的话,我该如何为IE和Safari实现它呢?

    谢谢。

    1 回复  |  直到 16 年前
        1
  •  0
  •   marcus    16 年前

    我遇到了完全相反的问题,在FF和Chrome中。页面加载时,cookies将恢复为cookies。如果用户选择了更改cookie的选项,转到另一个页面,然后单击“上一步”,则该更改将丢失。但同样的脚本在IE和Safari中对我来说效果很好。

    编辑: 我刚刚纠正了FF/Chrome的持久性问题,在我的页面中添加了以下PHP行:

    header("Cache-Control: no-store, must-revalidate");
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
    

    看起来浏览器有不同的缓存默认规则,必须指定要使用的规则。也可以使用如下的伪onBeforeUnload函数:

    window.onbeforeunload = function () {
        // return 'warning';
    }
    

    有助于防止在不向最终用户提供警报对话框的情况下缓存页面。

    我不知道这是否有用,但我想我会给我的两分钱。