notifications.getAll()

Gets all currently active notifications created by the extension.

This is an asynchronous function that returns a Promise.

Syntax

js
let gettingAll = browser.notifications.getAll()

Parameters

None.

Return value

A Promise that will be fulfilled with an object. Each currently active notification is a property of this object: the name of the property is the ID of the notification, and the value of the property is a notifications.NotificationOptions object describing that notification.

Note that you can define an ID for a notification explicitly by passing it into notifications.create(). If you don't do this, the browser will generate one. Explicitly-specified IDs are strings, but generated IDs are numbers.

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
getAll

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Examples

This example shows a notification when the user clicks a browser action, unless the notification was already being shown, in which case it clears the notification. It uses getAll() to figure out whether the notification is being shown:

js
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);

This example logs the title of all active notifications:

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

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

Note: This API is based on Chromium's chrome.notifications API.