1. ホーム
  2. javascript

[解決済み] google chrome extension :: console.log() from background page?

2022-02-05 02:53:27

質問

を呼び出すと console.log('something'); は、ポップアップ・ページや、そこから派生したスクリプトからも正常に動作します。

しかし、背景のページはポップアップページから直接実行されないので、コンソールに含まれません。

を取得する方法はありますか? console.log() をポップアップページのコンソールに表示させることはできますか?

背景ページから、ポップアップページの関数を呼び出す方法はありますか?

解決方法は?

任意の 拡張ページ (ただし コンテンツスクリプト を経由して背景ページに直接アクセスできます。 chrome.extension.getBackgroundPage() .

つまり、その中で ポップアップページ を、やればいいんです。

chrome.extension.getBackgroundPage().console.log('foo');

より使いやすくするために

var bkg = chrome.extension.getBackgroundPage();
bkg.console.log('foo');

では、もし同じことを コンテンツスクリプト を使わなければならない。 メッセージの受け渡し を実現するために。理由は、両者が異なるドメインに属しているからで、これは理にかなっている。には多くの事例があります。 メッセージの受け渡し のページをご覧ください。

これですべてがクリアになるといいのですが。