Повідомлення - інтерфейси веб api, mdn

конструктор

власні властивості

Властивості доступні тільки для об'єкта Notification.

Notification.permission Тільки для читання Рядок, що показує поточні права доступу для відображення повідомлень. Можливі значення: denied (користувач відмовився від відображення повідомлень), granted (користувач дав згоду на відображення повідомлень), default (вибір користувача невідомий і тому браузер буде діяти так, як якщо б значення було denied).

властивості примірника

Властивості доступні тільки для екземпляра об'єкта Notification.

Notification.title Тільки для читання Тема повідомлення, вказується в опціях як параметр конструктора. Notification.dir Тільки для читання Напрямок тексту повідомлення, вказується в опціях як параметр конструктора. Notification.lang Тільки для читання Код мови повідомлення, вказується в опціях як параметр конструктора. Notification.body Тільки для читання Основне тіло (текст) повідомлення, вказується в опціях як параметр конструктора. Notification.tag Тільки для читання Інденціфікатор (id) повідомлення, вказується в опціях як параметр конструктора. Notification.icon Тільки для читання URL зображення повідомлення, вказується в опціях як параметр конструктора. Notification.data Тільки для читання Повертає копію інформації повідомлення. Notification.requireInteraction Тільки для читання Булево значення є індентіфікатором того, що пристрій з досить великим дисплеєм і повідомлення залишається активним поки користувач не клацне на повідомлення або закриє його. Notification.silent Тільки для читання Вказує, чи повинно повідомлення супроводжуватися зі звуковим або вібро сигналом, не залежно від налаштувань пристрою.

Чи не підтримувані властивості

Наступні наведені властивості вказані в найбільш актуальною специфікації, але поки що не підтримуються у всіх браузерах. Бажано регулярно перевіряти актуальність інформації і якщо ви помітите застарілий матеріал просимо сповістити нас.

Notification.noscreen Тільки для читання Визначає чи повинен пользотельскій дисплей включатися (якщо був вимкнений) при отриманні повідомлення чи ні Notification.renotify Тільки для читання Визначає чи має нове призначене для користувача повідомлення замінити попередню. Notification.sound Тільки для читання Визначає звуковий файл для відтворення при повідомленні, за замовчуванням встановлений системний звук. Notification.sticky Тільки для читання Визначає чи має повідомлення бути "sticky", тобто не легко закриваються. Notification.vibrate Тільки для читання Задає шаблон вібрації для пристроїв з вібро.

обробники подій

Notification.onclick Обробник події click. Обробляється кожен раз як користувач клацне по повідомленню. Notification.onerror Обробник події error. Обробляється кожен раз як з'являється

Застарілі обробники подій

Наступні обробники подій все ще підтримуються, як зазначено в розділі нижче browser compatibility. але не увійшли в актуальну специфікацію. У майбутніх версіях браузера вони можу перестати працювати.

Notification.onclose Обробник події close. Обробляється при спробі користувача закрити повідомлення. Notification.onshow Обробник події для show. Обробляється при відображенні уведоленія.

власні методи

Методи доступні тільки для об'єкта Notification.

Notification.requestPermission () Запитує дозвіл у користувача показати повідомлення.

методи примірника

Це методи доступні тільки для екземпляра об'єкта Notification або через прототіп.Об'ект Notification також успадковує методи EventTarget інтерфейсу.

Notification.close () Програмно закриває повідомлення.

Як можливо відправляти повідомлення представлено нижче. Представлений код досить докладно описаний в комменатаріях і його можна використовувати, якщо хочете. На початку перевіряється підтримується повідомлення в клієнтському пристрої, якщо відповідь позитивна, то перевіряється дозвіл на відправку повідомлення або запитується.

У більшості випадків вам не треба бути таким багатослівним. Наприклад, в нашому демо Emogotchi (подивіться вихідний), ми просто запускаємо Notification.requestPermission незалежно від того, чи отримали ми дозвіл на відправку повідомлень:

Потім ми запускаємо просту функцію spawnNotification () коли ми хочемо запустити повідомлення передаємо аргументи для вказівки основної частини, іконки і заголовка, які ми хочемо, потім він створює об'єкт необхідних параметрів options і запускає повідомлення за допомогою конструктора Notification ().

специфікації

[1] Before Chrome 22, the support for notification followed an old prefixed version of the specification and used the navigator.webkitNotifications object to instantiate a new notification.

До Chrome 42, доповнення service worker не підтримуються.

[2] Prior to Firefox 22 (Firefox OS <1.2), the instantiation of a new notification must be done with the navigator.mozNotification object through its createNotification method.

Prior to Firefox 22 (Firefox OS <1.2), the Notification was displayed when calling the show method and supported only the click and close events.

Nick Desaulniers написав Notification shim. щоб покрити як нові так і старі реалізації.

One particular Firefox OS issue is that you can pass a path to an icon to use in the notification, but if the app is packaged you can not use a relative path like /my_icon.png. You also can not use window.location.origin + "/my_icon.png" because window.location.origin is null in packaged apps. The manifest origin field fixes this, but it is only available in Firefox OS 1.1+. A potential solution for supporting Firefox OS <1.1 is to pass an absolute URL to an externally hosted version of the icon. This is less than ideal as the notification is displayed immediately without the icon, then the icon is fetched, but it works on all versions of Firefox OS.

When using notifications in a Firefox OS app, be sure to add the desktop-notification permission in your manifest file. Notifications can be used at any permission level, hosted or above: "permissions": <"desktop-notification": <>>

[3] Safari почали підтримку повідомлень з Safari 6, але тільки на Mac OSX 10.8+ (Mountain Lion).

Дивіться також

Мітки документа і учасники

Дякуємо! Будь ласка, перевірте свою папку "Вхідні" для підтвердження підписки.

Якщо ви раніше не підтверджували підписку на розсилку новин Mozilla, то вам, можливо, доведеться зробити це. Будь ласка, перевірте папку Вхідні або Спам в своїй поштовій скриньці, щоб подивитися, чи не настав від нас лист.

Приховати підписку на розсилку новин

Схожі статті