ホームページ >コンピューターのチュートリアル >ブラウザ >browser.tabs.sendmessage オプションの例

browser.tabs.sendmessage オプションの例

DDD
DDDオリジナル
2024-08-15 14:33:20400ブラウズ

この記事では、browser.tabs.sendmessage() オプションを使用して、コンテンツ スクリプトとブラウザ拡張機能のバックグラウンド スクリプト間の通信を可能にするための包括的なガイドを提供します。メッセージの送受信手順の概要を説明します

browser.tabs.sendmessage オプションの例

バックグラウンド スクリプトにメッセージを送信するための browser.tabs.sendmessage() オプションの使用方法

browser.tabs.sendmessage() オプションを使用すると、コンテンツ スクリプトとブラウザ拡張機能のバックグラウンド スクリプト間の通信が可能になります。このオプションを使用するには、次の手順に従います。<code>browser.tabs.sendmessage() option enables communication between content scripts and the background script in a browser extension. To use this option, follow these steps:

  • In your content script, create a message object containing the data you want to send.
  • Use the browser.tabs.sendmessage() method, specifying the tab ID and the message object as arguments.
<code class="javascript">// Content script:
browser.tabs.sendMessage({greeting: "Hello from content script!"});</code>

Points to Note When Using browser.tabs.sendmessage() Option

Consider the following points when using browser.tabs.sendmessage():

  • Ensure that the tab ID is valid. You can use browser.tabs.query() to get a list of all open tabs.
  • The message object should be serializable, meaning it can be converted into a JSON string.
  • The background script must be listening for messages using browser.runtime.onMessage.addListener.

How to Use browser.tabs.sendmessage() Option to Communicate Between Content Script and Background Script?

To establish communication between a content script and a background script using browser.tabs.sendmessage(), follow these steps:

  • In the content script, define a listener for messages using browser.runtime.onMessage.addListener.
  • In the background script, use browser.tabs.sendmessage()
    • コンテンツ スクリプトで、送信するデータを含むメッセージ オブジェクトを作成します。
    • browser.tabs.sendmessage() メソッドを使用します。
    🎜
    <code class="javascript">// Content script:
    browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
      // Handle the received message here
    });
    
    // Background script:
    browser.tabs.sendMessage(tabId, {greeting: "Hello from background script!"});</code>
    🎜browser.tabs.sendmessage() オプションを使用する際の注意点🎜🎜browser.tabs.sendmessage()を使用する場合は、次の点を考慮してください。 >:🎜
      🎜 タブ ID が有効であることを確認してください。 browser.tabs.query() を使用すると、開いているすべてのタブのリストを取得できます。🎜🎜メッセージ オブジェクトはシリアル化可能である必要があります。つまり、JSON 文字列に変換できます。🎜🎜 バックグラウンド スクリプトbrowser.runtime.onMessage.addListener を使用してメッセージをリッスンする必要があります。🎜🎜🎜コンテンツ スクリプトとバックグラウンド スクリプトの間で通信するための browser.tabs.sendmessage() オプションの使用方法🎜🎜間の通信を確立するにはbrowser.tabs.sendmessage() を使用してコンテンツ スクリプトとバックグラウンド スクリプトを作成するには、次の手順に従います。🎜
        🎜 コンテンツ スクリプトで、browser.runtime を使用してメッセージのリスナーを定義します。 onMessage.addListener.🎜🎜 バックグラウンド スクリプトで、browser.tabs.sendmessage() を使用して、特定のタブまたはすべてのタブにメッセージを送信します。🎜🎜 受信したメッセージを対応するリスナーで処理しますコンテンツ スクリプトとバックグラウンド スクリプトの両方で。🎜🎜rrreee

    以上がbrowser.tabs.sendmessage オプションの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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