diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.html | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.html')
-rw-r--r-- | files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.html | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.html b/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.html new file mode 100644 index 0000000000..129bb2a553 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.html @@ -0,0 +1,149 @@ +--- +title: notifications.create() +slug: Mozilla/Add-ons/WebExtensions/API/notifications/create +tags: + - API + - Add-ons + - Create + - Extensions + - Method + - Non-standard + - Notifications + - Reference + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/create +--- +<div>{{AddonSidebar()}}</div> + +<p>Crée et affiche une notification.</p> + +<p>Passez un {{WebExtAPIRef("notifications.NotificationOptions")}} pour définir le contenu et le comportement de la notification.</p> + +<p>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 {{WebExtAPIRef("notifications.update()", "update")}} ou {{WebExtAPIRef("notifications.clear()", "clear")}} la notification.</p> + +<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p> + +<div class="warning"> +<p>Si vous appelez <code>notifications.create()</code> plus d'une fois de suite, Firefox peut ne pas afficher de notification pour tout.</p> +</div> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">var creating = browser.notifications.create( + id, // optional string + options // NotificationOptions +) +</pre> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>id</code>{{optional_inline}}</dt> + <dd><code>string</code>. Ceci est utilisé pour faire référence à cette notification dans {{WebExtAPIRef("notifications.update()")}}, {{WebExtAPIRef("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.</dd> + <dt><code>options</code></dt> + <dd>{{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le contenu et le comportement de la notification.</dd> +</dl> + +<h3 id="Valeur_retournée">Valeur retournée</h3> + +<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p> + +<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("webextensions.api.notifications.create")}}</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Créez et affichez périodiquement une notification de base à l'aide d'un {{WebExtAPIRef("alarms", "alarm")}}. En cliquant sur l'action du navigateur, la notification est rejetée.</p> + +<p>Notez que vous aurez besoin de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications).</p> + +<pre class="brush: js">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"); + }); +});</pre> + +<p>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 :</p> + +<pre class="brush: js">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); +}); +</pre> + +<p>{{WebExtExamples}}</p> + +<div class="note"><strong>Remerciements :</strong> + +<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p> + +<p>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.</p> +</div> |