jquery 相对URI片段链接指向主页而不是同一页面?

s3fp2yjn  于 2023-04-20  发布在  jQuery
关注(0)|答案(1)|浏览(101)

我所尝试的

page.html上:

<a href="#top">#top</a>

然后我在Firefox和Chrome中打开page.html,右键单击链接并选择 * 复制链接地址 *。

我得到了什么

example.com/#top

我期望得到的

example.com/page.html#top

我记得在我早期使用HTML的时候,我现在正在阅读MDN,相对URI片段锚点(#something)应该指向浏览器所在的同一页面(点击这些链接不应该重新加载页面)。这也符合我从这个测试片段中得到的行为:

<a href="#top">#top</a>

上面的代码片段链接到https://stacksnippets.net/js#top,而不是https://stacksnippets.net/#top,这意味着它可以按预期工作。
我发现另一个问题也有同样的问题:Anchor links reload the page。最后,这个家伙指向/support/test/#first,明确地告诉浏览器指向同一个页面。这可能也是我最后的手段,但首先我想看看我是否能使标准行为工作。
那么为什么会发生这种情况呢?如果我的页面上有其他东西,我该如何调试以及在哪里查看?这种行为是否有任何常见的原因,例如,可能是某些Bootstrap插件被干扰了?
发生这种情况的页面仅使用jQuery和Bootstrap。

UPDATE:我删除了页面上所有的脚本和样式表,但仍然有问题。所以这不是jQuery或Bootstrap的干扰。

0ve6wy6x

0ve6wy6x1#

找到了:

<base href="https://example.com"/>

它在文档的<head></head>中。如果我使用 Web Developer ToolsInspector 实时删除这个<base/> tag,它会立即修复相对URL,甚至没有任何页面重新加载。

相关问题