0

私はcontent_scriptsでChrome拡張機能に押し込むことができた反応アプリを持っています。これは基本的にページに表示されるオーバーレイで、ルートに基づいて関連性の高いツールを表示します。問題は、既存のページコンテンツリンクが、自分の内線内の反応ルータがクリックされたときにその履歴を更新することを引き起こさないということです。ユーザーが実際のウェブサイトのリンクを使用してページを変更すると、私のアプリは適切なツールを表示しません。適切なルートでリフレッシュしたときのみ。React Chrome Extension - React Router v4はページコンテンツからのURL変更イベントを受信しません

リアクションルータが既存のページコンテンツのリンクをクリックしたときに反応ルータを認識して更新する方法はありますか?

+0

'react-router'があなたにここでサーバーするかどうか不明です。 URLの変更を聞くのはどうですか? https://stackoverflow.com/questions/34957319/how-to-listen-for-url-change-with-chrome-extension –

+0

これは反応アプリ以外の使用例では問題ないようですが、私はそうではありませんこのイベントリスナーを使用して、内線内の反応ルータに更新を指示する方法を確認してください。おそらくこれはさらに探求するための良い方向です。 – DigitalDisaster

+1

chrome.webNavigation.onHistoryStateUpdatedと.onReferenceFragmentUpdatedを使用して背景ページのページ内のナビゲーションを検出し、コンテンツスクリプトアプリにメッセージを送信できます。 – wOxxOm

答えて

0

「hashchange」イベントリスナーでURL変更をリッスンしてから、browserHistory.push( '/ some/path')を使用してURL変更をプッシュすることができます。

+0

私はハッシュチェンジはあなたが '#'でURLの後に変更を加えているときだけだと思いますか?いいえ? – DigitalDisaster

関連する問題