notifications.create()
Crée et affiche une notification.
Passez un notifications.NotificationOptions
pour définir le contenu et le comportement de la notification.
Vous pouvez éventuellement fournir un ID pour la notification. Si vous omettez l'ID, un ID sera généré. Vous pouvez utiliser l'ID pour update
ou clear
la notification.
C'est une fonction asynchrone qui renvoie une Promise
.
Attention :
Si vous appelez notifications.create()
plus d'une fois de suite, Firefox peut ne pas afficher de notification pour tout.
Syntaxe
var creating = browser.notifications.create(
id, // optional string
options, // NotificationOptions
);
Paramètres
id
Facultatif-
string
. Ceci est utilisé pour faire référence à cette notification dansnotifications.update()
,notifications.clear()
, et les écouteurs d'événements. Si vous omettez cet argument ou passez une chaîne vide, un nouvel ID sera généré pour cette notification. Si l'ID que vous fournissez correspond à l'ID d'une notification existante provenant de cette extension, l'autre notification sera effacée. options
-
notifications.NotificationOptions
. Définit le contenu et le comportement de la notification.
Valeur retournée
Une Promise
qui sera remplie lorsque la notification est créée et que le processus d'affichage a été démarré, avant que la notification ne s'affiche réellement à l'utilisateur. Il est rempli avec une chaîne représentant l'identifiant de la notification.
Compatibilité des navigateurs
BCD tables only load in the browser
Exemples
Créez et affichez périodiquement une notification de base à l'aide d'un alarm
. En cliquant sur l'action du navigateur, la notification est rejetée.
Notez que vous aurez besoin de la permission "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications).
var cakeNotification = "cake-notification";
/*
CAKE_INTERVAL is set to 6 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.
*/
var CAKE_INTERVAL = 0.1;
browser.alarms.create("", { periodInMinutes: CAKE_INTERVAL });
browser.alarms.onAlarm.addListener(function (alarm) {
browser.notifications.create(cakeNotification, {
type: "basic",
iconUrl: browser.extension.getURL("icons/cake-96.png"),
title: "Time for cake!",
message: "Something something cake",
});
});
browser.browserAction.onClicked.addListener(() => {
var clearing = browser.notifications.clear(cakeNotification);
clearing.then(() => {
console.log("cleared");
});
});
Affichez une notification similaire, mais ajoutez des boutons nommant des gâteaux et consignez le gâteau sélectionné lorsque vous cliquez sur un bouton :
var cakeNotification = "cake-notification";
/*
CAKE_INTERVAL is set to 6 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.
*/
var CAKE_INTERVAL = 0.1;
var buttons = [
{
title: "Chocolate",
},
{
title: "Battenberg",
},
];
browser.alarms.create("", { periodInMinutes: CAKE_INTERVAL });
browser.alarms.onAlarm.addListener(function (alarm) {
browser.notifications.create(cakeNotification, {
type: "basic",
iconUrl: browser.extension.getURL("icons/cake-96.png"),
title: "Time for cake!",
message: "Something something cake",
buttons: buttons,
});
});
browser.browserAction.onClicked.addListener(() => {
var clearing = browser.notifications.clear(cakeNotification);
clearing.then(() => {
console.log("cleared");
});
});
browser.notifications.onButtonClicked.addListener((id, index) => {
browser.notifications.clear(id);
console.log("You chose: " + buttons[index].title);
});
Example extensions
Note :
Cette API est basée sur l'API Chromium chrome.notifications
.
Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.