Spec-Zone.ru › Web Extensions

notifications.create()

Создаёт и отображает уведомление.

Передайте notifications.NotificationOptions для определения содержимого и поведения уведомления.

Вы можете необязательно указать идентификатор для уведомления. Если вы опустите идентификатор, он будет сгенерирован. Вы можете использовать идентификатор для update или clear уведомления.

Это асинхронная функция, которая возвращает Promise.

Предупреждение: Если вы вызываете notifications.create() более одного раза подряд, Firefox может не отобразить ни одного уведомления.

Синтаксис

let creating = browser.notifications.create(
  id,                   // optional string
  options               // NotificationOptions
)

Параметры

id Необязательно

string. Это используется для ссылки на это уведомление в notifications.update(), notifications.clear() и обработчиках событий. Если вы опустите этот аргумент или передадите пустую строку, для этого уведомления будет сгенерирован новый идентификатор. Если переданный вами идентификатор совпадает с идентификатором существующего уведомления из этого расширения, то другое уведомление будет очищено.

options

notifications.NotificationOptions. Определяет содержимое и поведение уведомления.

Значение возврата

A Promise, который будет выполнен, когда уведомление будет создано, и процесс отображения будет запущен, что происходит до того, как уведомление фактически будет отображено пользователю. Он выполняется со строкой, представляющей идентификатор уведомления.

Примеры

В этом примере уведомление отображается периодически, используя alarm. Нажатие на действие браузера отменяет уведомление. Для создания будильников (а также для создания уведомлений) вам необходимо разрешение "alarms" разрешение.

let cakeNotification = "cake-notification";

/*

CAKE_INTERVAL is set to 6 seconds in this example.
Such a short period is chosen to make the extension's behavior
more obvious, but this is not recommended in real life.
Note that in Chrome, alarms cannot be set for less
than a minute.

*/
let CAKE_INTERVAL = 0.1;

browser.alarms.create("", { periodInMinutes: CAKE_INTERVAL });

browser.alarms.onAlarm.addListener((alarm) => {
  browser.notifications.create(cakeNotification, {
    type: "basic",
    iconUrl: browser.runtime.getURL("icons/cake-96.png"),
    title: "Time for cake!",
    message: "Something something cake",
  });
});

browser.browserAction.onClicked.addListener(() => {
  const clearing = browser.notifications.clear(cakeNotification);
  clearing.then(() => {
    console.log("cleared");
  });
});

Примеры расширений

  • export-helpers
  • forget-it
  • google-userinfo
  • notify-link-clicks-i18n
  • runtime-examples

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
create 28 17 45 ? 25 Нет ? ? 48 ? Нет ?

Примечание: Этот API основан на API chrome.notifications Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/notifications/create

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API