Как реализовать уведомления на рабочем столе в моем клиентском приложении?

0 servich [2019-02-05 13:02:00]

Я пытаюсь разработать приложение JS для уведомлений на рабочем столе в своем клиентском приложении. Код отлично работает на Firefox, но не на Chrome. Я изменяю разрешение уведомлений, чтобы разрешить в настройках → Дополнительно → Настройки содержимого → Уведомления → Разрешить/Запретить, но все еще не работает.

это мой код:

notifyMe: function() {
    if (!("Notification" in window)) {
      alert("Ce navigateur ne supporte pas les notifications desktop");

    } else if (Notification.permission !== 'denied') {

      Notification.requestPermission(function(permission) {
        if (!('permission' in Notification)) {
          Notification.permission = permission;
        }

        if (permission === "granted") {
          var notification = new Notification("Notify ")
        }

      });
    }
}

Кто-нибудь может мне помочь? Благодарю.

javascript html


3 ответа


1 Rakesh Makluri [2019-02-05 13:32:00]

С версии 62 Chrome Уведомления поддерживаются только в безопасных контекстах браузера.

Когда контекст считается безопасным?

  • Контекст будет считаться безопасным, когда он доставлен безопасно (или локально), и когда его нельзя использовать для предоставления доступа к защищенным API-интерфейсам в небезопасном контексте. На практике это означает, что для того, чтобы страница имела безопасный контекст, она и все страницы в ее родительской и открывающей цепочке должны быть доставлены надежно.
  • Локально доставленные файлы, такие как http://localhost и file://paths, считаются безопасными.
  • Контексты, которые не являются локальными, должны обслуживаться через https://или wss://и там, где используемые протоколы не должны рассматриваться как устаревшие.

Более подробную информацию о безопасном контексте читайте в разделе Безопасные контексты MDN.

А что касается поддержки уведомлений только в безопасном контексте, проверьте совместимость браузера в разделе уведомлений.


0 Unibit Sol [2019-02-05 14:53:00]

var myNotification = window.webkitNotifications.createNotification('mike.png', 'New Content Available', 'Click to view');
myNotification.onclick = function() {
    window.location = 'http://teamtreehouse.com/new/content';
}
myNotification.show();

если это трудно понять, перейдите по этой ссылке: https://developers.google.com/web/fundamentals/codelabs/push-notifications/


0 Mohammad lm71 [2019-02-05 13:41:00]

Вам нужен веб-сайт, работающий по протоколу HTTPS, при использовании определенных функций, таких как Notification, Push Notification, service worker, geolocation, Speech to Text (с помощью службы Google) и некоторые другие. Chrome более строгий, особенно в новых версиях.