我有一个常见问题解答页面,我以
的形式创建了许多问题和答案。<div>
<h4 id="anchor-name">question</h4>
<p>answer</p>
</div>
如果我有一个按钮或可点击链接,其形式为
,这将按预期工作<a href="#anchor-name">Click here to go to anchor</a>
直接将我带到具有该ID的问题(预期行为) 问题是当我尝试通过类似的操作
从另一个选项卡的URL访问此URL时https://my-app-url/#/FAQ/#anchor-name
它将我重定向到“常见问题”页面,而不是我的问题。取而代之的是,它只加载常见问题并停留在顶部。
某些上下文:
https://my-app-url/#/FAQ/#anchor-name
中的第一个#是强制性的。显然,如果我只使用https://my-app-url/FAQ/#anchor-name
,它将永远不会加载页面<div>
标签将<h4>
标签和<a>
标签括起来,但是没有用。在那些情况下,我所做的是<div>
<a href="#anchor-name">
<h4 id="anchor-name">question</h4>
<p>answer</p>
</a>
</div>
我想知道并且似乎无法通过大量研究找到的东西是:
答案 0 :(得分:1)
您不需要紧接/
之前的最后一个#anchor-tag
。
因此URL为:
https://my-app-url/#/FAQ#anchor-name
答案 1 :(得分:0)
对于任何有兴趣的人,我已解决了此问题。通过用BrowserHistory替换HashHistory解决了该问题。使用HashHistory,URL获得一个#来干扰锚点。通过使用BrowserHistory,#永远不会出现,因此问题不再存在。希望这会有所帮助。