Szukaj…


Składnia

  • Notification.requestPermission ( callback )
  • Notification.requestPermission (). Then ( callback , replaceFunc )
  • nowe powiadomienie ( tytuł , opcje )
  • powiadomienie .close ()

Uwagi

Interfejs API powiadomień został zaprojektowany w celu umożliwienia dostępu przeglądarki do powiadamiania klienta.

Obsługa przeglądarek może być ograniczona. Obsługa systemu operacyjnego może być ograniczona.

Poniższa tabela zawiera przegląd najwcześniejszych wersji przeglądarki obsługujących powiadomienia.

Chrom Krawędź Firefox Internet Explorer Opera Opera Mini Safari
29 14 46 bez wsparcia 38 bez wsparcia 9.1

Prośba o pozwolenie na wysyłanie powiadomień

Używamy Notification.requestPermission aby zapytać użytkownika, czy chce otrzymywać powiadomienia z naszej strony internetowej.

Notification.requestPermission(function() {
    if (Notification.permission === 'granted') {
        // user approved.
        // use of new Notification(...) syntax will now be successful
    } else if (Notification.permission === 'denied') {
        // user denied.
    } else { // Notification.permission === 'default'
        // user didn’t make a decision.
        // You can’t send notifications until they grant permission.
    }
});

Od Firefoksa 47 Metoda .requestPermission może również zwrócić obietnicę przy podejmowaniu decyzji użytkownika o udzieleniu pozwolenia

Notification.requestPermission().then(function(permission) {
    if (!('permission' in Notification)) {
        Notification.permission = permission;
    }
    // you got permission !
    }, function(rejection) {
    // handle rejection here.
    }
);

Wysyłanie powiadomień

Po zatwierdzeniu przez użytkownika prośby o pozwolenie na wysyłanie powiadomień możemy wysłać proste powiadomienie z komunikatem Hello:

new Notification('Hello', { body: 'Hello, world!', icon: 'url to an .ico image' });

Spowoduje to wysłanie takiego powiadomienia:

Witaj

Witaj świecie!

Zamykanie powiadomienia

Możesz zamknąć powiadomienie za pomocą metody .close() .

let notification = new Notification(title, options);
// do some work, then close the notification
notification.close()

Możesz użyć funkcji setTimeout aby w przyszłości automatycznie zamknąć powiadomienie.

let notification = new Notification(title, options);
setTimeout(() => {
    notification.close()
}, 4000);

Powyższy kod spowoduje odrodzenie powiadomienia i zamknięcie go po 4 sekundach.

Zdarzenia powiadomień

Specyfikacje interfejsu API powiadomień obsługują 2 zdarzenia, które można uruchomić za pomocą powiadomienia.

  1. Zdarzenie click .

To wydarzenie zostanie uruchomione po kliknięciu organu powiadomień (z wyjątkiem zamykającego X i przycisku konfiguracji powiadomień).

Przykład:

notification.onclick = function(event) {
    console.debug("you click me and this is my event object: ", event);
}
  1. Zdarzenie error

Powiadomienie uruchomi to zdarzenie za każdym razem, gdy wydarzy się coś złego, na przykład niemożność wyświetlenia

notification.onerror = function(event) {
    console.debug("There was an error: ", event);
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow