notifications.getAll()

Obtient toutes les notifications actuellement actives créées par l'extension.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

js
var gettingAll = browser.notifications.getAll();

Paramètres

None.

Valeur retournée

Une Promise qui sera accomplie avec un objet. Chaque notification actuellement active est une propriété de cet objet : le nom de la propriété est l'ID de la notification et la valeur de la propriété est un objet notifications.NotificationOptions décrivant cette notification.

Notez que vous pouvez définir explicitement un ID pour une notification en le passant dans notifications.create(). Si vous ne le faites pas, le navigateur en générera un. Les ID spécifiés explicitement sont des chaînes, mais les ID générés sont des nombres.

Compatibilité des navigateurs

BCD tables only load in the browser

Exemples

Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification. Il utilise getAll() pour déterminer si la notification est affichée :

js
var myNotification = "my-notification";

function toggleAlarm(all) {
  let ids = Object.keys(all);
  if (ids.indexOf(myNotification) != -1) {
    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);

Cet exemple enregistre le titre de toutes les notifications actives :

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

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

Note :

Cette API est basée sur l'API Chromium chrome.notifications.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.