notifications.update()
Обновляет уведомление по его идентификатору.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let updating = browser.notifications.update( id, // string options // NotificationOptions )
Параметры
id-
string. Идентификатор уведомления, которое нужно обновить. Он совпадает с идентификатором, переданным в обратный вызовnotifications.create(). options-
notifications.NotificationOptions. Определяет новое содержимое и поведение уведомления.
Возвращаемое значение
A Promise, который будет выполнен с булевым значением: true если уведомление было обновлено, или false если не было (например, потому что уведомление, на которое ссылается id, не существовало).
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
update |
28 | 17 | Нет | ? | 25Не поддерживается на macOS. |
Нет | ? | ? | Нет | ? | Нет | ? |
Примеры
В этом примере используется update() для обновления уведомления о прогрессе. Нажатие на действие браузера отображает уведомление и запускает alarm, которое используется для обновления индикатора прогресса уведомления.
Обратите внимание, что вам потребуется разрешение «alarms» разрешение для создания будильников (а также разрешение «notifications» для создания уведомлений). Также обратите внимание, что Firefox не поддерживает атрибут progress.
let cakeNotification = "cake-notification"; /* CAKE_INTERVAL is set to 0.3 seconds in this example. Such a short period is chosen to make the extension's behavior more obvious, but this is not recommended in real life. Note that in Chrome, alarms cannot be set for less than a minute. */ let CAKE_PREP_INTERVAL = 0.005; let progress = 0; browser.alarms.onAlarm.addListener((alarm) => { progress += 10; if (progress > 100) { browser.notifications.clear(cakeNotification); browser.alarms.clear("cake-progress"); } else { browser.notifications.update(cakeNotification, { progress }); } }); browser.browserAction.onClicked.addListener(() => { browser.notifications.getAll((all) => { if (all.length > 0) { browser.notifications.clear(cakeNotification); return; } progress = 0; browser.notifications.create(cakeNotification, { type: "progress", iconUrl: browser.extension.getURL("icons/cake-48.png"), title: "Your cake is being prepared…", message: "Something something cake", progress, }); browser.alarms.create( "cake-progress", { periodInMinutes: CAKE_PREP_INTERVAL } ); }); });
Примечание: Этот API основан на API chrome.notifications от Chromium.
© 2005–2023 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/update