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.
- 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);
}
- 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);
}