使用ajax和window.location伪造url栏

时间:2012-09-19 07:11:38

标签: javascript jquery ajax window.location

我使用.load创建一个ajax请求。它运作良好。但我的网址栏有问题。我想改变网址栏。例如。当ajax加载/联系页面时。我想将网址栏更改为about / contact。

我用过这个。

window.location.replace = about/contact;

但现在,他直接重定向到此页面。但我不希望页面重定向到该URL。我该如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以使用历史记录API执行此操作,但support is not universal yet虽然在IE以外的浏览器中也很好。有关使用它的示例:http://html5demos.com/history。它会根据需要修改可见的URL,并允许您使用后退按钮返回先前的状态。

建议您使用history.js之类的内容,因为它对于尚不支持历史记录API的浏览器会相应地运行。它将首先使用History API,如果不存在,则使用hash技术。

如果你想自己动手,那么肯定会查看历史记录API及其工作原理,这里有一些起点:article 1article 2

答案 1 :(得分:2)

使用ajax历史插件,如jquery-address。

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