我们的一些链接由 PJAX 包装。当用户单击 PJAX 链接时,服务器仅返回 HTML 的必需部分。
如果我执行以下操作:
- 点击 PJAX 链接
- 点击简单链接
- 按下返回按钮
浏览器将显示 PJAX 请求返回的内容。HTML 将被破坏,因为它只是要显示的 HTML 的一部分(检查这个问题)。
我们试图通过不缓存 PJAX 响应(Cache-Control
标头)来解决此问题。这解决了我们的问题,但又引发了另一个问题:当用户按下后退按钮时,WebKit (Chrome 20.0) 从服务器加载全部内容,然后触发popstate
导致不必要的 PJAX 请求的事件。
是否可以重新创建正确的后退按钮行为?