Gets all currently active notifications created by the extension.
This is an asynchronous function that returns a Promise
.
var gettingAll = browser.notifications.getAll()
None.
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.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
getAll |
29 |
17 |
45 |
? |
25 |
No |
? |
? |
48 |
? |
? |
? |
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:
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);
This example logs the title of all active notifications:
function logNotifications(all) { for (let 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.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 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