--- title: ServiceWorkerRegistration.showNotification() slug: Web/API/ServiceWorkerRegistration/showNotification tags: - API - Method - Reference - Service Workers - ServiceWorker - ServiceWorkerRegistration - showNotification translation_of: Web/API/ServiceWorkerRegistration/showNotification ---

{{APIRef("Service Workers API")}}

{{domxref("ServiceWorkerRegistration")}} インターフェイスの showNotification() メソッドは、アクティブなサービスワーカー上で通知を作成します。

: この機能は Web Worker で使用できます。

構文

​serviceWorkerRegistration.showNotification(title, [options]);

パラメーター

title
通知内に表示する必要があるタイトル
options {{optional_inline}}
通知の設定を可能にするオブジェクト。 次のプロパティを持つことができます。

戻り値

undefined に解決する {{jsxref('Promise')}}。

navigator.serviceWorker.register('sw.js');

function showNotification() {
  Notification.requestPermission(function(result) {
    if (result === 'granted') {
      navigator.serviceWorker.ready.then(function(registration) {
        registration.showNotification('バイブレーションの例', {
          body: 'ブンブン! ブンブン!',
          icon: '../images/touch/chrome-touch-icon-192x192.png',
          vibrate: [200, 100, 200, 100, 200, 100, 200],
          tag: 'vibration-sample'
        });
      });
    }
  });
}

上記の関数を適切なタイミングで呼び出すには、{{domxref("ServiceWorkerGlobalScope.onnotificationclick")}} イベントハンドラーを使用できます。

{{domxref("ServiceWorkerRegistration.getNotifications()")}} を使用して、現在のサービスワーカーから発生した {{domxref("Notification")}} の詳細を取得することもできます。

仕様

仕様 状態 コメント
{{SpecName('Web Notifications','#dom-serviceworkerregistration-shownotification','showNotification()')}} {{Spec2('Web Notifications')}} 初期定義

ブラウザーの互換性

{{Compat("api.ServiceWorkerRegistration.showNotification")}}