Javascript Url操作和反向导航

Javascript Url操作和反向导航,javascript,browser-history,pushstate,Javascript,Browser History,Pushstate,我正在用如下内容更新url: window.history.pushState(null, "Page title", "/?param=" + myParamValue); 这很好,但是当用户点击后退按钮时,url会更新,但页面不会重新加载 我有一个ajax例程,可以更新内容,但如果可能的话,我不想重新实现后退/前进导航,我只想在用户点击后退/前进浏览器按钮时重新加载页面 Q:是否有办法强制页面从用户处重新加载浏览器后退/前进操作中的给定url 奖励Q:另外,如果浏览器不支持较旧浏览器上的w

我正在用如下内容更新url:

window.history.pushState(null, "Page title", "/?param=" + myParamValue);
这很好,但是当用户点击后退按钮时,url会更新,但页面不会重新加载

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

Q:是否有办法强制页面从用户处重新加载浏览器后退/前进操作中的给定url


奖励Q:另外,如果浏览器不支持较旧浏览器上的
window.history.pushState
,该怎么办?我是否应该将该代码放在try/catch块中?

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

我发现它在读这个帖子:

我希望有帮助

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

只是我的意见;)


编辑:小心使用IE9,它不是在IE9中处理的。thx to nbrooks for the info

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

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

我发现它在读这个帖子:

我希望有帮助

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

只是我的意见;)

编辑:小心使用IE9,它不是在IE9中处理的。thx至NBROOK以获取信息

if(typeof window.history.pushState === 'function')
    //handle your url rewriting
else
    //support for older browsers
至于您关于后退按钮支持的问题,评论中提供的链接为该功能提供了非常好的实现


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

看看这个问题:看看这个问题:谢谢,关于跨浏览器支持。。。哈哈-可能有人在IE8/9或smt上,但这不是什么大问题:)IE9处理这个!!不是吗??IE8是另一个故事……:)正如我所说:只是我的意见。我不再为旧的浏览器烦恼,我只是用PHP检查并回显一个“GoGetaRealBrowser”页面。它可能很傻,但这是一个选择。@Maresh不,直到IE 10wow才支持它。。。很遗憾,IE9有一个很好的JS引擎,还有其他一些我喜欢的东西,我对它的尊重正在下降…谢谢,关于跨浏览器支持。。。哈哈-可能有人在IE8/9或smt上,但这不是什么大问题:)IE9处理这个!!不是吗??IE8是另一个故事……:)正如我所说:只是我的意见。我不再为旧的浏览器烦恼,我只是用PHP检查并回显一个“GoGetaRealBrowser”页面。它可能很傻,但这是一个选择。@Maresh不,直到IE 10wow才支持它。。。很遗憾,IE9有一个很好的JS引擎,还有一些我喜欢的东西,我对它的尊重正在下降。。。