Chrome拡張機能を作成していますが、その一部で、ポップアップページのボタンがクリックされたときに現在のタブのタイトルとURLを取得する必要があります。
私は以前にChromeのメッセージパッシングシステムを使用していましたが、多くの場合、それを機能させることができました。しかし、私はポップアップページでそれらを使用する必要はありませんでした。私が読んだことから、それを行うのははるかに困難です。
私がこれまでに理解できたタイムラインは次のとおりです。
popup.html
/popup.js
:ボタンがクリックされたpopup.html
/popup.js
:リクエスト/メッセージがコンテンツスクリプトに送信されますcontentScript.js
:ポップアップページからリクエスト/メッセージを受信contentScript.js
:現在のタブのタイトルとURLは変数に保存されますcontentScript.js
:2つの変数は文字列化された応答として送信されますpopup.html
/popup.js
:2つの変数が応答から解析されます
通常、私はこれを理解することができますが、私は作品にスパナを投げたいくつかのことを読みました。
chrome.tabs.getSelected
バックグラウンドページ/スクリプトでのみ使用できます。これは、コンテンツスクリプトをまったく使用する必要がないことを意味しますか?- メッセージをコンテンツスクリプトからポップアップページに直接送信することはできません。メッセージはバックグラウンドページを経由する必要があります。
- メッセージを渡す前に、ポップアップウィンドウが存在することを確認する必要があります(ただし、これを行う方法は知っていると思います)
Chromeのメッセージパッシングシステムはすでに十分に難しいと感じましたが、これは私を完全に混乱させました。したがって、この投稿。