Javascript HTML锚定标记和react路由器
我有一个基于哈希历史的react+react路由器SPA,我遇到了一个障碍 以下是我的URL的外观:Javascript HTML锚定标记和react路由器,javascript,reactjs,react-router,html5-history,Javascript,Reactjs,React Router,Html5 History,我有一个基于哈希历史的react+react路由器SPA,我遇到了一个障碍 以下是我的URL的外观: http://mysite/#/path/:id 基于id我异步检索文档并显示它。我检索的文档是一个预先制作好的HTML文档,我在组件上使用它 现在,问题是上面的文档可能包含命名的/id锚,以跳转到该页面上的特定部分 e、 g. 我想在危险的HTML之前在客户端重写/重新处理HTML,以便这些锚定链接能够工作。正确的方法是什么 PS:我尝试使用无散列历史记录,但我有其他问题(例如,所有标记都需要
http://mysite/#/path/:id
基于id
我异步检索文档并显示它。我检索的文档是一个预先制作好的HTML文档,我在组件上使用它
现在,问题是上面的文档可能包含命名的/id锚,以跳转到该页面上的特定部分
e、 g.
我想在危险的HTML
之前在客户端重写/重新处理HTML,以便这些锚定链接能够工作。正确的方法是什么
PS:我尝试使用无散列历史记录,但我有其他问题(例如,所有
标记都需要立即使用
创建,以避免重新加载页面。现在出现了什么问题?使用基于散列的历史记录,
标记上的URL指向http://mysite/#path/:id#2
-哪个不起作用(单击时不会发生任何事情)href
是否正确?它是否将链接中的:id
替换为正确的id?或者这就是问题所在?您可能希望使用regex之类的东西将所有
标记替换为
。@Chris,它确实替换了id,并以错误的链接结束-您是对的。不过,我可能可以用一些JS来防止这种情况发生.但尽管如此,我还是无法使用它,因为浏览器似乎无法处理http://mysite/#path/:id#2