0

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

重现的最少代码:

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

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

4

0 回答 0