【发布时间】:2017-10-29 15:03:43
【问题描述】:
我有一个 React 应用程序,我设法用content_scripts 将它推入了一个 chrome 扩展程序。它基本上是页面上的叠加层,根据路线显示上下文相关的工具。问题是现有页面内容链接不会导致我的扩展中的 react-router 在单击它们时更新其历史记录。因此,当用户使用实际的网站链接更改页面时,我的应用程序不会显示正确的工具。只有当他们在正确的路线上点击刷新时。
当用户点击现有页面内容上的链接时,有没有办法让 react-router 知道并更新它的历史记录?
【问题讨论】:
-
不确定
react-router是否会在这里为您服务。监听 url 变化怎么样? stackoverflow.com/questions/34957319/… -
这对于 react-app 之外的用例似乎没问题,但我不确定如何使用此事件侦听器来指示我的扩展中的 react-router 进行更新。但也许这是进一步探索的好方向
-
您可以使用 chrome.webNavigation.onHistoryStateUpdated 和 .onReferenceFragmentUpdated 检测后台页面中的页内导航,然后向您的内容脚本应用发送消息。
-
这看起来可能是答案。您能否将其作为问题的答案提交,当我有机会实施它时,如果可行,我会将其标记为已解决?
标签: javascript reactjs google-chrome-extension react-router react-router-v4