我注意到 Firefox 和 Chrome 处理重新加载的方式有些奇怪,我想知道是否有其他人遇到过这种情况,也许知道原因。
我有一个window.onunload
事件,我设置了一个 cookie(在这种情况下使用 YUI,但本机 JS 或 jQuery 也可以工作)。此 cookie 通常在 HTTP 请求中发送到服务器,服务器端代码会在其中查找它。如果 cookie 存在,它可以采取特殊的行动。
window.onunload = function() {
Y.Cookie.set('reset_function', 'true', { path: '/'});
}
当用户通过页面上的链接从一个页面转到另一个页面时,这可以正常工作。但是,当用户重新加载页面时,在 Firefox 和 Chrome 中设置了 cookie(即我验证了代码是通过 Firebug/Chrome DevTools 执行的),但是 cookie 没有发送到服务器,所以服务器不能采取特别行动。
有没有人遇到过这个并且知道为什么?这种行为是否已融入这两个浏览器?
编辑:当我进一步调试时,重新加载时,Chrome 和 Firefox 首先进入服务器,然后通过 onunload 事件处理程序。我仍然不确定为什么浏览器会这样。