Html 从页面内导航时重定向到页面顶部的标记链接
我有一个下拉菜单,我使用php在我的所有页面上都包含了它。在这个菜单上,我使用锚定位到单个页面上的各个div。这是非常简单的代码,在href中带有标记,没有JavaScriptHtml 从页面内导航时重定向到页面顶部的标记链接,html,menu,tags,anchor,Html,Menu,Tags,Anchor,我有一个下拉菜单,我使用php在我的所有页面上都包含了它。在这个菜单上,我使用锚定位到单个页面上的各个div。这是非常简单的代码,在href中带有标记,没有JavaScript <a href="test.php#test">Test</a> 导航到 <h2 id="test">Test</h2> 测试 如果我正在导航到该页面,则可以正常工作。如果我已经在页面上,它会转到标记,然后重定向回没
<a href="test.php#test">Test</a>
导航到
<h2 id="test">Test</h2>
测试
如果我正在导航到该页面,则可以正常工作。如果我已经在页面上,它会转到标记,然后重定向回没有标记的页面(即从test.php#test到test.php)。是什么导致了这种行为?我如何修复它?如果您提供了更多的代码,那么它会更有帮助。但我只是在猜测问题是什么。您可以将以下javascript添加到页面:
$("a[href^=#]").on("click", function(e) {
e.preventDefault();
history.pushState({}, "", this.href);
});
这样做的目的是针对所有哈希链接,防止其默认行为并更改URL。但是如果没有看到更多的代码,就很难判断它是否有效。您还可以互换使用
replaceState
,这将更改URL,而无需向浏览器历史记录中添加条目。从.借来的代码,你可以考虑和我们共享一些代码。