Javascript Url 操作和后退导航

Javascript Url manipulation and back navigation

本文关键字:导航 Url 操作 Javascript      更新时间:2023-09-26

我正在用这样的东西更新网址:

window.history.pushState(null, "Page title", "/?param=" + myParamValue);

这工作正常,但是当用户点击后退按钮时,url 会更新,但页面不会重新加载。

我有一个更新内容的 ajax 例程,但如果可能的话,我不想弄乱重新实现后退/前进导航,我只想在用户点击后退/前进浏览器按钮的情况下重新加载页面。

:有没有办法强制页面在用户的浏览器后退/前进操作上重新加载给定的 url?

奖励 问:另外,如果浏览器不支持旧版浏览器的window.history.pushState怎么办?我应该将该代码括在 try/catch 块中吗?

if(typeof window.history.pushState === 'function')
    //handle your url rewriting
else
    //support for older browsers

至于您关于后退按钮支持的问题,评论中提供的链接为该功能提供了非常好的实现

你应该看看这个jQuery插件,它可能对你有用:

http://www.asual.com/jquery/address/

我发现它正在阅读这个线程:

https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin

我希望它有所帮助。

关于旧的浏览器问题,我认为您不必为此烦恼,因为您使用的是ajax,这也需要现代浏览器。主要问题是:谁将访问您的网站?如果主要是40岁以上的人,也许你应该打扰......

只是我的意见;)

编辑:小心IE9,它不会在其中处理。 感谢恩布鲁克斯的信息