Spec-Zone.ru › Web Extensions

notifications.getAll()

Получает все активные уведомления, созданные расширением.

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

Синтаксис

let gettingAll = browser.notifications.getAll()

Параметры

Нет.

Возвращаемое значение

Promise, который будет выполнен с объектом. Каждое активное уведомление — это свойство этого объекта: имя свойства — ID уведомления, а значение свойства — объект notifications.NotificationOptions, описывающий это уведомление.

Обратите внимание, что вы можете явно определить ID для уведомления, передав его в notifications.create(). Если вы этого не сделаете, браузер сгенерирует его. Явно заданные ID — это строки, а сгенерированные — числа.

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
getAll 29 17 45 ? 25 Нет ? ? 48 ? Нет ?

Примеры

В этом примере отображается уведомление при нажатии пользователем на действие в браузере, если уведомление ещё не отображалось, в противном случае оно удаляется. Используется getAll(), чтобы определить, отображается ли уведомление:

const myNotification = "my-notification";

function toggleAlarm(all) {
  const ids = Object.keys(all);
  if (ids.includes(myNotification)) {
    browser.notifications.clear(myNotification);
  } else {
    console.log("showing");

    browser.notifications.create(myNotification, {
      type: "basic",
      title: "Am imposing title",
      message: "Some interesting content",
    });
  }
}

function handleClick() {
  console.log("clicked");
  browser.notifications.getAll().then(toggleAlarm);
}

browser.browserAction.onClicked.addListener(handleClick);

В этом примере выводится заголовок всех активных уведомлений:

function logNotifications(all) {
  for (const id in all) {
    console.log(`Title: ${all[id].title}`);
  }
}

browser.notifications.getAll().then(logNotifications);

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

© 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/getAll

Spec-Zone.ru

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