我刚刚发现了以下内容(通过为客户端和服务器端代码设置多个断点):
如果你有一个window.onunload
处理程序 - 它会在浏览器发送 http-request 到新页面之后执行。
- 您导航到下一页
- 浏览器向新页面发送 http-request
- 浏览器执行卸载处理程序并暂停渲染过程,直到它完成执行。
- 显示新页面。
我刚刚用 Chrome 和 Firefox 测试了这个。
怎么来的?您认为这种奇怪行为的原因是什么?
PS。我是这样发现的:我有一个卸载处理程序,它通过 ajax 保存了一些数据。然后我发现我正在导航的新页面 - 仍然显示来自数据库的旧数据。这让我想...