意外的 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
或类似内容。
我目前正在开发一个大型项目(我不了解整个代码库的细节),我只是偶然发现了一些我无法理解的东西,希望有人可以添加一些建议。
在我的项目中,我们使用 "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
或类似内容。