如何在Chrome / Safari中的pushState之后使后退按钮工作

时间:2013-05-09 22:58:13

标签: google-chrome safari pushstate

我的单页应用程序中有一个错误处理程序,如果ajax请求由于某种原因失败,则会重新加载页面,向用户显示错误响应。使用Chrome和Safari,随后点击后退按钮会将用户留在错误页面上(尽管该网址会更新回原始页面。)

要重现的最小代码:

var missing_url = window.location.pathname + '/missing'
window.history.pushState({test:'test'}, 'new page', missing_url);
// Reloading will return the 404
window.location.reload();

演示:http://bl.ocks.org/lrowe/raw/5551102/

来源:https://gist.github.com/lrowe/5551102

据我所知,这与缓存无关,当点击后,网络面板中没有显示任何内容,并且当浏览器缓存被禁用时,我看到同样的行为。

0 个答案:

没有答案