我正在使用以下内容更新网址:
window.history.pushState(null, "Page title", "/?param=" + myParamValue);
这样可以正常工作,但是当用户点击后退按钮时,网址会更新,但页面不会重新加载。
我有一个更新内容的ajax例程但是如果可能的话我不想搞砸重新实现后退/前进导航,我只是想在用户点击后退/前进浏览器按钮的情况下重新加载页面
问:有没有办法强制网页重新加载来自用户的浏览器后退/转发操作的给定网址?
Bonus Q :此外,如果浏览器在旧浏览器上不支持window.history.pushState
该怎么办?我可以在try / catch块中包含该代码吗?
答案 0 :(得分:3)
if(typeof window.history.pushState === 'function')
//handle your url rewriting
else
//support for older browsers
至于关于后退按钮支持的问题,评论中提供的链接为功能提供了非常好的实现
答案 1 :(得分:1)
你应该看看这个jQuery插件,它可能对你有用:
http://www.asual.com/jquery/address/
我发现它正在读这个帖子:
https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin
我希望它有所帮助。
关于旧的浏览器问题,我认为您不必为此烦恼,因为您使用的是ajax,这也需要现代浏览器。主要问题是:谁将访问您的网站?如果它主要是超过40yo的人,也许你应该打扰......
只是我的意见;)
编辑:小心IE9,它没有处理。 thx到nbrooks获取信息