ExtendableMessageEvent
インターフェイスの ports
読み取り専用プロパティは、関連するメッセージチャンネル(メッセージが送信されるチャンネル)のポートを表す MessagePort
オブジェクトを含む配列を返します。
構文
var myPorts = extendableMessageEvent.ports;
値
MessagePort
オブジェクトの配列。
例
次のコードをサービスワーカー内で使用して、PushMessageData
を介して受信したデータをチャンネルメッセージを介してメインコンテキストに送信することにより、プッシュメッセージに応答する場合、onmessage
のイベントオブジェクトは ExtendableMessageEvent
になります。
var port;
self.addEventListener('push', function(e) {
var obj = e.data.json();
if(obj.action === 'subscribe' || obj.action === 'unsubscribe') {
port.postMessage(obj);
} else if(obj.action === 'init' || obj.action === 'chatMsg') {
port.postMessage(obj);
}
});
self.onmessage = function(e) {
port = e.ports[0];
}
仕様
仕様 | 状態 | コメント |
---|---|---|
Service Workers ExtendableMessageEvent.ports の定義 |
草案 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.