0

为什么我的浏览器地址栏在 href 上没有变化。我的主页上有一个名为“关于”的链接。关于在 div 中打开。当我单击它时,它会在 div 中打开,但 url 地址栏保持不变,即当我希望它更改为“www.example.com/homepage/about”时“www.example.com/homepage”。我努力了

 windows.location.href="/about"

但它会将我带到一个新页面,而不是在 div 中打开。有没有办法实现我正在寻找的东西 - 即在 div 中打开链接后更改地址栏。

4

3 回答 3

1

You have to change your function to change the history state. You can add something like this to change the address in the address bar:

history.pushState(null, null, '/about');

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history for more info.

于 2013-08-22T14:09:30.543 回答
0

我不认为这是可能的。浏览器将始终显示加载页面的地址,并且如果不加载新页面就无法更改。

如果它真的很重要,你可以使用哈希来实现类似的东西。应该可以使用以下方式更改 url:

window.location.hash="关于";

这应该将浏览器 URL 更改为 www.xxxx.com/homepage#about 而无需重新加载页面。

然后如果用户复制 URL 或为页面添加书签,那么他们将加载该 URL,这反过来将允许您的 javascript 检测哈希并在 div 中加载适当的内容。

于 2013-08-22T10:35:01.007 回答
-1

您可能正在寻找 window.location.hash

问候

于 2013-08-22T10:29:56.767 回答