ホームページ  >  記事  >  ウェブフロントエンド  >  Chrome 拡張機能でコンテンツ スクリプトにパラメータを渡す方法は?

Chrome 拡張機能でコンテンツ スクリプトにパラメータを渡す方法は?

DDD
DDDオリジナル
2024-10-28 12:47:02557ブラウズ

How to Pass Parameters to Content Scripts in Chrome Extensions?

chrome.tabs.executeScript() を使用してコンテンツ スクリプトにパラメータを渡す

chrome.tabs.executeScript() を利用してコンテンツ スクリプトを挿入する場合では、スクリプト ファイル内の JavaScript にパラメータを渡す必要がある場合があります。

方法 1: スクリプトの実行前にパラメータを設定する

パラメータを直接 JavaScript に渡す代わりに、ファイルを削除する場合は、ターゲット ファイルを実行する前にコンテンツ スクリプトを挿入することを検討してください。このメソッドを使用すると、ファイルがロードされる前にグローバル スコープで変数を設定できます。

<code class="javascript">chrome.tabs.executeScript(tab.id, {
  code: 'var config = 1;'
}, function() {
  chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});</code>

メソッド 2: スクリプト実行後にパラメータを設定する

別のアプローチには、メッセージ パッシング API を使用してスクリプト ファイルが実行された後のパラメータ:

<code class="javascript">chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() {
  chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever');
});</code>

コンテンツ スクリプト (content.js) で、chrome.runtime.onMessage を使用してこれらのメッセージをリッスンします。これにより、処理および処理が可能になります。パラメータを利用します:

<code class="javascript">chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
  // Handle message.
  // In this example, message === 'whatever value; String, object, whatever'
});</code>

以上がChrome 拡張機能でコンテンツ スクリプトにパラメータを渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。