fed*_*lov 22 webkit browser-history pjax popstate
我们的一些链接由PJAX包装.当用户单击PJAX链接时,服务器仅返回HTML的必需部分.
如果我执行以下操作:
浏览器将显示PJAX请求返回的内容.HTML将被破坏,因为它只是要显示的HTML的一部分(请查看此问题).
我们试图通过不缓存PJAX响应(Cache-Control标题)来解决这个问题.这解决了我们的问题,但提出了另一个问题:当用户按下后退按钮时,WebKit(Chrome 20.0)从服务器加载完整内容,然后触发popstate导致不必要的PJAX请求的事件.
是否可以重新创建正确的后退按钮行为?
小智 3
这一切都取决于服务器缓存设置。您的浏览器缓存来自服务器的 AJAX 响应,当您单击“后退”按钮时,它会使用缓存的版本。
为了防止在服务器上缓存设置以下标头:
'Cache-Control' => 'no-cache, no-store, max-age=0, must-revalidate'
'Pragma' => 'no-cache'
Run Code Online (Sandbox Code Playgroud)
如果您使用 Rails,那么一定要尝试 Wiselinks https://github.com/igor-alexandrov/wiselinks。它是浏览器状态管理的瑞士军刀。以下是一些详细信息:http://igor-alexandrov.github.io/blog/2013/07/11/the-way-to-wiselinks-1-dot-0/。
| 归档时间: |
|
| 查看次数: |
2562 次 |
| 最近记录: |