Уведомление рабочего стола не отображается в Chrome - PullRequest
0 голосов
/ 26 октября 2018

Я проверил, что Notification.permission === 'granted' и 'Notification' in window == true, хотя следующий Javascript не делает уведомление в моем браузере Chrome, Версия 70.0.3538.77 (Официальная сборка) (64-разрядная версия).

var notif = new Notification('title', {
    icon: 'https://placehold.it/120x120',
    body: 'body'
});

Я выполнил вышеупомянутое в консоли Chrome на сайте, который, как я знаю, ранее был разрешен для уведомлений на рабочем столе.Я также подтвердил, что в этом месте установлено значение Разрешить: Notifications set to Allow

1 Ответ

0 голосов
/ 11 апреля 2019

Проблема с не открывающимся диалоговым окном: http .Уведомления Chrome для настольных компьютеров работают только по протоколу https .

Я столкнулся с этой проблемой и потратил много времени на ее решение.Наконец, я получил решение, используя https.

Здесь я поделился кодом, чтобы вы могли работать по https, и он будет работать нормально.

// request permission on page load
document.addEventListener('DOMContentLoaded', function() {
  if (!Notification) {
    alert('Desktop notifications not available in your browser. Try Chromium.');
    return;
  }

  if (Notification.permission !== "granted")
    Notification.requestPermission();
});

function notifyMe() {
  if (Notification.permission !== "granted")
    Notification.requestPermission();
  else {
    var notification = new Notification('Notification title', {
      icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
      body: "Hey there! You've been notified!",
    });

    notification.onclick = function() {
      window.open("http://stackoverflow.com/a/13328397/1269037");
    };
  }
}

notifyMe();

Позвоните notifyMe();, чтобы показать уведомление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...