使用ajax和window.location伪造url栏

Mik*_*ind 2 javascript ajax jquery window.location

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

我用过这个.

window.location.replace = about/contact;
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Jos*_*ort 5

您可以使用History API执行此操作,但支持尚未普及,但在IE以外的浏览器中表现良好.有关它的一个例子:http://html5demos.com/history.它将根据需要修改可见URL,并允许您使用后退按钮返回先前的状态.

建议你使用像history.js这样的东西,因为它对于那些还不支持历史API的浏览器会有相应的行为.它将首先使用History API,如果不存在则使用散列技术.

如果你想自己动手,那么肯定会查看历史API以及它是如何工作的,这里有一些开始的地方:第1条,第2条