Jak korzystać z powiadomień na pulpicie Chrome ? Chciałbym, żeby to wykorzystało we własnym kodzie.
Aktualizacja : Oto post na blogu wyjaśniający powiadomienia zestawu internetowego na przykładzie.
javascript
desktop
google-chrome
notifications
Sridhar Ratnakumar
źródło
źródło
Odpowiedzi:
W nowoczesnych przeglądarkach istnieją dwa rodzaje powiadomień:
Wywołanie interfejsu API przyjmuje te same parametry (z wyjątkiem działań - niedostępne w powiadomieniach na pulpicie), które są dobrze udokumentowane w MDN i dla pracowników serwisu na stronie Google Web Fundamentals .
Poniżej znajduje się działający przykład powiadomień na pulpicie dla Chrome, Firefox, Opera i Safari. Pamiętaj, że ze względów bezpieczeństwa, począwszy od przeglądarki Chrome 62, nie można już wymagać zgody na interfejs API powiadomień z elementu iframe pochodzącego z różnych źródeł , dlatego nie możemy tego demonstrować przy użyciu fragmentów kodu StackOverflow. Musisz zapisać ten przykład w pliku HTML na swojej stronie / aplikacji i upewnić się, że używasz
localhost://
lub HTTPS.Używamy interfejsu API powiadomień W3C . Nie należy tego mylić z interfejsem API powiadomień o rozszerzeniach Chrome , który jest inny. Powiadomienia o rozszerzeniach Chrome oczywiście działają tylko w rozszerzeniach Chrome i nie wymagają specjalnego pozwolenia od użytkownika.
Powiadomienia W3C działają w wielu przeglądarkach (patrz wsparcie w caniuse ) i wymagają zgody użytkownika. Jako najlepszą praktykę nie proś o to pozwolenie od razu. Wyjaśnij najpierw użytkownikowi, dlaczego chce otrzymywać powiadomienia i zobacz inne wzorce powiadomień wypychanych .
Pamiętaj, że Chrome nie honoruje ikony powiadomienia w systemie Linux z powodu tego błędu .
Ostatnie słowa
Obsługa powiadomień nieustannie się zmienia, a różne interfejsy API były przestarzałe w ciągu ostatnich lat. Jeśli jesteś ciekawy, sprawdź poprzednie edycje tej odpowiedzi, aby zobaczyć, co działało w Chrome i poznać historię bogatych powiadomień HTML.
Teraz najnowszy standard znajduje się na stronie https://notifications.spec.whatwg.org/ .
Aby dowiedzieć się, dlaczego istnieją dwa różne połączenia z tym samym skutkiem, w zależności od tego, czy jesteś pracownikiem usługowym, czy nie - zobacz ten bilet, który złożyłem podczas pracy w Google .
Zobacz także powiadomienie.js dla biblioteki pomocnika.
źródło
Sprawdź projekt i specyfikację API (wciąż jest to wersja robocza) lub sprawdź źródło z (strona nie jest już dostępna) na prosty przykład: jest to głównie wywołanie do
window.webkitNotifications.createNotification
.Jeśli chcesz bardziej solidny przykład (próbujesz utworzyć własne rozszerzenie Google Chrome i chcesz wiedzieć, jak radzić sobie z uprawnieniami, pamięcią lokalną itp.), Sprawdź Gmail Notifier Extension : pobierz plik CRX zamiast instalować rozpakuj go i przeczytaj jego kod źródłowy.
źródło
Wygląda na to, że
window.webkitNotifications
został już wycofany i usunięty. Istnieje jednak nowy interfejs API , który wydaje się działać również w najnowszej wersji przeglądarki Firefox.codepen
źródło
else
aby powiedzieć, na czym polega problem. Prawdopodobnie globalnie wyłączyłeś powiadomienia takie jak ja: \Lubię: http://www.html5rocks.com/en/tutorials/notifications/quick/#toc-examples, ale używa starych zmiennych, więc demo nie działa.
webkitNotifications
jest terazNotification
.źródło
Zrobiłem to proste opakowanie powiadomienia. Działa w Chrome, Safari i Firefox.
Prawdopodobnie na Opera, IE i Edge, ale jeszcze tego nie testowałem.
Pobierz plik powiadomień.js tutaj https://github.com/gravmatt/js-notify i umieść go na swojej stronie.
Zdobądź go w Bower
Tak to działa:
Musisz ustawić tytuł, ale obiekt json jako drugi argument jest opcjonalny.
źródło
Oto ładna dokumentacja interfejsów API,
https://developer.chrome.com/apps/notifications
I oficjalne objaśnienie wideo przez Google,
https://developers.google.com/live/shows/83992232-1001
źródło
Notify.js to opakowanie wokół powiadomień o nowym zestawie internetowym. Działa całkiem dobrze.
http://alxgbsn.co.uk/2013/02/20/notify-js-a-handy-wrapper-for-the-web-notifications-api/
źródło
źródło
Notification.requestPermission();
, a następnievar notification = new Notification('hello', { body: "Hey there!", });
pokazy powiadomień w górę.