我使用 .load 发出 ajax 请求。它运行良好。但我的网址栏有问题。我想更改网址栏。例如。当ajax加载关于/联系页面时。我想将网址栏更改为 about/contact。
我用过这个。
window.location.replace = about/contact;
但是现在,他直接重定向到这个页面。但我不希望页面重定向到该网址。我该如何解决这个问题?
谢谢!
最佳答案
您可以使用 History API 来执行此操作,不过 support is not universal yet ,尽管在 IE 以外的浏览器中表现良好。有关使用中的示例:http://html5demos.com/history 。它将根据需要修改可见 URL,并且还允许您使用后退按钮返回到之前的状态。
建议您使用类似 history.js 的内容对此,因为它对于尚不支持历史 API 的浏览器会有相应的行为。它将首先使用 History API,如果不存在,将使用 hash技术。
如果您想自己动手,那么一定要查找 History API 及其工作原理,可以从以下一些地方开始:article 1 , article 2
关于javascript - 使用 ajax 和 window.location 伪造 url 栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490020/