これはGoogle Chrome DevTools Extension - Detect Page Changeの質問の欺瞞かもしれませんが、実際の答えがなくても1年以上座っていて、問題に新しい洞察を与えてくれます。Chrome DevToolsエクステンションサイドバーをページ更新時にリロードする
DevToolsにサイドバーパネルを挿入するChrome拡張機能を作成しました。サイドパネルにはdataLayerイベントがリストされ、ユーザーは目的のイベントをクリックし、要素ピッカーを使用してページ上の別の要素を選択できます。プラグインは要素間のパスをドット表記で表示します。ここで
はGithubのプロジェクトへのリンクです:https://github.com/gruebleenagency/gtm-data-layer-sifter
それは私が正常にそれを好きな動作しますが、あなたは別のページに移動すると、サイドバーが再び初期化されていないので、それからの情報を表示します前のページ。
あなたは私が私のbackground.jsファイルでこれを持っていることがわかります。この時点では、サイドバーのリロードを作るためにどのような方法があります場合、私は思ったんだけど
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
reloadExtension();
}
});
function reloadExtension() {
// ???
}
?それとも私は間違った方法でこれについて行くのですか?私はこれをうまく動作させるために多くの時間を使いこなしましたが、何もそのトリックをやっていないようです。
ありがとうございました。
私はそれを自分自身を試してみたが、[ドキュメント](https://developer.chromeから判断しませんでした。 com/extensions/devtools#solutions)を使用すると、単にパネルにメッセージを送信できます。そしてあなたのパネルはそれ自身を更新することができます。なぜ再ロードが必要なのか分かりません。 UIのシームレスな更新は、よりユーザーフレンドリーです。とにかく、 'location.reload()'はパネル内で動作するはずです。 – wOxxOm
ありがとうwOxxOm、それは参考にされました。 UIをシームレスに更新する代わりにリロードする理由は、何らかの理由で、新しいページに移動した後にページに必要なスクリプトがないように思えるからです。これは単なる設計上の欠陥かもしれませんが、私はまだプラグイン全体を書き直すことには興味がありません。あなたの親切な返信をありがとう!私は自分自身の質問に答えを提出するつもりですが、私の解決策は将来的に誰かを助けるでしょう。 – Danbleen