グローバルページから特定のタブにメッセージを送信する方法はありますか?
私が現在行っているのは、タブの作成時に、挿入されたスクリプトが一意のIDを作成し、この番号のメッセージをグローバルページに送信し、グローバルページがこの番号を保存することです。
グローバルページがタブ(つまり、tab #3
)にデータを送信する必要がある場合、グローバルページは、タブに渡されるデータの一部として番号を含むメッセージをすべてのタブに「ブロードキャスト」し#3
ます(すべてのタブを繰り返して送信します)各タブへのメッセージ)。
Chromeのようなものはありますか:(つまり:) chrome.tabs.sendRequest(tabID, {action: 'respond', params:[channel,msg,async]});
?
現在私が行っているのは、挿入されたスクリプト側で、各スクリプトにこのメッセージをキャッチするリスナーがあるということです。コンテンツスクリプトの一意の番号がグローバルページによって送信された番号と等しい場合、このメッセージはそのためのものです。それ以外の場合はdoNothing
。
Safariでこれを行うためのより簡単でエレガントな方法はありますか?