意外的 html 锚重定向

Unexpected html anchor redirection

我目前正在开发一个大型项目(我不了解整个代码库的细节),我只是偶然发现了一些我无法理解的东西,希望有人可以添加一些建议。

在我的项目中,我们使用 "to top"-anchor 轻松地从底部到顶部(没什么特别的)。但由于某些原因,它不会像我预期的那样工作。想象一个 URL 像:http://example.com/foo 和下面的 html:

<header id="top">top</header>
<div style="height: 2000px"></div>
<a href="#top">Click me</a>

理论上这工作正常并前往 http://example.com/foo#top without reloading the site, but on my project it will redirect to http://example.com/#top

我看不到 Javascript 制作的任何可能拦截点击事件的 EventListener。有没有人给我一些可能是错误的提示(或者我只是想念)?

感谢@AmrElgarhy,我将在这里回答我自己的问题。

这是因为我的 HTML 代码中的 <base> 元素。 对于我的解决方案,我无法删除此节点,但我将像这样以编程方式将请求 uri 添加到我的 "to-top"-anchor:

<header id="top">top</header>
<div style="height: 2000px"></div>
<a href="{{ request.uri }}#top">Click me</a>

{{ request.uri }} 将包含 /foo 或类似内容。