42

HTML5 通知 APIを使用して、Chrome または Firefox でユーザーに通知しています。デスクトップブラウザでは動作します。ただし、Chrome 42 for Android では、権限は要求されますが、通知自体は表示されません。

リクエスト コードは、すべてのデバイスで機能します。

if ('Notification' in window) {
  Notification.requestPermission();
}

送信コードは、デスクトップ ブラウザーでは機能しますが、モバイルでは機能しません。

if ('Notification' in window) {
  new Notification('Notify you');
}
4

5 に答える 5

58

次のことを試してください。

navigator.serviceWorker.register('sw.js');
Notification.requestPermission(function(result) {
  if (result === 'granted') {
    navigator.serviceWorker.ready.then(function(registration) {
      registration.showNotification('Notification with ServiceWorker');
    });
  }
});

これは、Android の Chrome と Firefox の両方で動作するはずです (iOS の Safari でも動作します)。

(sw.jsファイルは 0 バイトのファイルでもかまいません。)

https1 つの注意点は、安全なオリジン ( URL ではなくURL)から実行する必要があることですhttp

https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/showNotificationを参照してください。

于 2015-08-03T12:56:44.257 に答える