Как использовать уведомления Chrome на рабочем столе ? Я хотел бы, чтобы это использовалось в моем собственном коде.
Обновление : вот сообщение в блоге, объясняющее уведомления webkit с примером.
javascript
desktop
google-chrome
notifications
Шридхар Ратнакумар
источник
источник
Ответы:
В современных браузерах существует два типа уведомлений:
Вызов API принимает те же параметры (за исключением действий - недоступных в уведомлениях на рабочем столе), которые хорошо документированы в MDN и для сервисных работников на сайте Google Web Fundamentals .
Ниже приведен рабочий пример уведомлений на рабочем столе для Chrome, Firefox, Opera и Safari. Обратите внимание, что по соображениям безопасности, начиная с Chrome 62, разрешение на API уведомлений больше не может запрашиваться у iframe с несколькими источниками , поэтому мы не можем продемонстрировать это с помощью фрагментов кода StackOverflow. Вам нужно сохранить этот пример в HTML-файле на вашем сайте / в приложении и обязательно использовать
localhost://
HTTPS.Мы используем API уведомлений W3C . Не путайте это с API уведомлений расширений Chrome , который отличается. Уведомления расширений Chrome, очевидно, работают только в расширениях Chrome и не требуют специального разрешения от пользователя.
Уведомления W3C работают во многих браузерах (см. Поддержку caniuse ) и требуют разрешения пользователя. В качестве лучшей практики, не спрашивайте это разрешение сразу. Сначала объясните пользователям, почему им нужны уведомления, и посмотрите другие шаблоны push-уведомлений .
Обратите внимание, что Chrome не поддерживает значок уведомлений в Linux из-за этой ошибки .
Заключительные слова
Поддержка уведомлений постоянно менялась, и в последние годы различные API не поддерживаются. Если вам интересно, посмотрите предыдущие правки этого ответа, чтобы узнать, что раньше работало в Chrome, и узнать историю расширенных HTML-уведомлений.
Теперь последний стандарт находится на https://notifications.spec.whatwg.org/ .
Относительно того, почему есть два разных вызова одного и того же эффекта, в зависимости от того, работаете ли вы в сервисном центре или нет - посмотрите этот билет, который я подал, работая в Google .
Смотрите также notify.js для вспомогательной библиотеки.
источник
Проверьте дизайн и спецификацию API (это все еще черновик) или проверьте источник с (страница больше не доступна) для простого примера: это в основном вызов
window.webkitNotifications.createNotification
.Если вам нужен более надежный пример (вы пытаетесь создать собственное расширение Google Chrome и хотите знать, как работать с разрешениями, локальным хранилищем и т. Д.), Проверьте расширение Gmail Notifier : загрузите файл crx вместо установки распакуйте его и прочитайте его исходный код.
источник
Похоже, что
window.webkitNotifications
это уже устарело и удалено. Тем не менее, есть новый API , и он, похоже, работает и в последней версии Firefox.codepen
источник
else
в конце, чтобы сказать вам, в чем проблема. Вы, вероятно, отключили глобальные уведомления, как я: \Мне нравится: http://www.html5rocks.com/en/tutorials/notifications/quick/#toc-examples, но в нем используются старые переменные, поэтому демонстрационная версия больше не работает.
webkitNotifications
в настоящее времяNotification
.источник
Я сделал эту простую оболочку уведомлений. Работает на Chrome, Safari и Firefox.
Возможно, в Opera, IE и Edge, но я еще не проверял.
Просто получите файл notify.js здесь https://github.com/gravmatt/js-notify и поместите его на свою страницу.
Получите это на Бауэре
Вот как это работает:
Вы должны установить заголовок, но объект json в качестве второго аргумента является необязательным.
источник
Вот хорошая документация по API,
https://developer.chrome.com/apps/notifications
И официальное объяснение видео от Google,
https://developers.google.com/live/shows/83992232-1001
источник
Notify.js - это оболочка для уведомлений о новых webkit. Это работает довольно хорошо.
http://alxgbsn.co.uk/2013/02/20/notify-js-a-handy-wrapper-for-the-web-notifications-api/
источник
источник
Notification.requestPermission();
,var notification = new Notification('hello', { body: "Hey there!", });
появляется уведомление.