语法
js
let gettingAll = browser.notifications.getAll()
参数
无。
返回值
一个 Promise,它将以一个对象的形式被 fulfilled。每个当前活动的通知都是该对象的一个属性:属性的名称是通知的 ID,属性的值是一个 notifications.NotificationOptions 对象,描述该通知。
请注意,您可以通过在 notifications.create() 中传递 ID 来显式定义通知的 ID。如果您不这样做,浏览器将生成一个 ID。显式指定的 ID 是字符串,而生成的 ID 是数字。
示例
此示例显示了当用户点击浏览器操作时的一个通知,除非该通知已在显示中,在这种情况下,它会清除该通知。它使用 getAll() 来确定通知是否正在显示。
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);
此示例记录所有活动通知的标题。
js
function logNotifications(all) {
for (const id in all) {
console.log(`Title: ${all[id].title}`);
}
}
browser.notifications.getAll().then(logNotifications);
浏览器兼容性
加载中…
注意: 此 API 基于 Chromium 的 chrome.notifications API。