你好!当帖子使用短链接 + 锚点 (/t/id#anchor) 链接到自身,并且在同一页面上点击该链接时,它会重定向到顶部而不是锚点,这里存在一个问题。
演示一下就更清楚了:
Header 1
- #header-1 在此帖中点击时有效
- \u003chttps://meta.discourse.org/t/t-xyz-anchor-doesnt-work-when-on-the-page-xyz/225101#header-1-1\u003e 在此帖中点击并引用时有效
- \u003chttps://meta.discourse.org/t/a/225101#header-1-1\u003e 在此帖中点击并引用时有效
- \u003chttps://meta.discourse.org/t/225101#header-1-1\u003e 在未在此帖中点击时有效
- /t/t-xyz-anchor-doesnt-work-when-on-the-page-xyz/225101#header-1-1 在此帖中点击并引用时有效
- /t/a/225101#header-1-1 在此帖中点击并引用时有效
- /t/225101#header-1-1 在未在此帖中点击时有效
我还注意到另外两个问题。除第一个链接外,所有链接都会重新加载页面。链接 2、3、5 和 6 有效,但锚点会在短时间内从 URL 中移除。
我最初的问题是,引用一个只包含锚点的帖子(指向同一页面的另一个部分)会导致锚点相对于当前页面而不是被引用的页面,而不是相对于被引用的页面。如果你引用这七个链接,第一个链接将指向 CURRENT PAGE#header-1。
我尝试了此 bug 报告中的解决方案(见下文)。它正确地链接到了页面,但锚点未被尊重。