href不会更改浏览器地址栏

时间:2013-08-22 10:26:33

标签: javascript html

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

 windows.location.href="/about"

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

3 个答案:

答案 0 :(得分:1)

您必须更改功能才能更改历史记录状态。 你可以添加这样的东西来改变地址栏中的地址:

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

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history了解更多信息。

答案 1 :(得分:0)

我不认为这是可能的。浏览器将始终显示已加载页面的地址,并且在未加载新页面的情况下无法更改。

如果真的很重要,你可以使用哈希来实现类似的东西。应该可以使用以下内容更改网址:

window.location.hash = “约”;

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

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

答案 2 :(得分:-1)

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

关于