notifications.getAll()
获取扩展当前所有活动的通知。
这是一个异步函数,它返回一个 Promise
。
语法
js
let gettingAll = browser.notifications.getAll()
参数
无。
返回值
一个 Promise
,它将被一个对象满足。每个当前活动的通知都是该对象的属性:属性的名称是通知的 ID,属性的值是 notifications.NotificationOptions
对象,描述该通知。
请注意,您可以通过将 ID 传递到 notifications.create()
来显式地定义通知的 ID。如果您不这样做,浏览器将生成一个。显式指定的 ID 是字符串,但生成的 ID 是数字。
浏览器兼容性
BCD 表格只在浏览器中加载
示例
此示例在用户单击浏览器操作时显示通知,除非通知已在显示,在这种情况下,它会清除通知。它使用 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。