我正在开发一个100%AJAX的系统,当然是第一个请求。

我有兴趣使用JavaScript更改Document.Location中的地址。但是我不希望浏览器将页面加载到该“新”位置上。

有人知道我该怎么做吗?

有帮助吗?

解决方案

为了重写整个位置,而不仅仅是“哈希”部分,可以使用浏览器历史记录API,尽管目前似乎只是 在壁虎1.9.3/Firefox 4.

history.replaceState({}, document.title, url)

其他提示

更改整个URL而不导航是不可能的,请想象一下 安全问题 它可以生成。

您只能更改 location.hash, ,这是遵循的URL的一部分 # 象征:

location.hash = "foo";

您的URL会更改为 http://someurl.com/#foo

您可以使用Gmail使用的相同方法。将锚点附加到URL的末端,浏览器不应重新加载页面,但您可以阅读信息 document.location.href 并采取行动。这也将使返回按钮的功能保持完整(提供JavaScript支持它)

例如

第一页是 http://www.mypage.com/index.php 您使用使用 <a href="#page2">link</a> 它变为 http://www.mypage.com/index.php#page2

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top