このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

PushMessageData

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2023年3月⁩.

* Some parts of this feature may have varying levels of support.

PushMessageDataプッシュ API のインターフェイスで、さまざまな形式でサーバーから送信されるプッシュテータを取得する方法を提供します。

フェッチ API の同様のメソッドが 1 回しか呼び出せないのと異なり、これらは複数回呼び出せます。

プッシュ API を通して受け取ったメッセージはプッシュサービスによって暗号化されて送信され、PushMessageData インターフェイスのメソッドで利用可能になる前にブラウザーによって自動的に復号されます。

インスタンスプロパティ

なし。

インスタンスメソッド

PushMessageData.arrayBuffer()

データを ArrayBuffer オブジェクトとして抜き出します。

PushMessageData.blob()

データを Blob オブジェクトとして抜き出します。

PushMessageData.json()

データを JSON オブジェクトとして抜き出します。

PushMessageData.text()

データをプレーンテキスト文字列として抜き出します。

js
self.addEventListener("push", (event) => {
  const obj = event.data.json();

  if (obj.action === "subscribe" || obj.action === "unsubscribe") {
    fireNotification(obj, event);
    port.postMessage(obj);
  } else if (obj.action === "init" || obj.action === "chatMsg") {
    port.postMessage(obj);
  }
});

仕様書

Specification
Push API
# pushmessagedata-interface

ブラウザーの互換性