我研究了几种使用 AJAX 将浏览器历史记录(后退和前进按钮)与 SPA 结合的解决方案。流行的解决方案是使用 HTML5 历史 API,例如 history.pushState。
还可以选择使用插件,例如:
- jQuery 地址
- jQuery烧烤
尽管上述方法前后运行都很好,但它们似乎绕过了浏览器页面缓存。因此,如果我按下后退按钮,我可以返回服务器并获取存储在从浏览器历史记录中获取的 URL 中的数据,或者,我可以从浏览器缓存中获取缓存的项目。
在按下后退或前进按钮(而不是返回服务器)后,我不确定如何从浏览器缓存中获取缓存的项目。