diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.html')
| -rw-r--r-- | files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.html | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.html b/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.html new file mode 100644 index 0000000000..52a4d27064 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.html @@ -0,0 +1,281 @@ +--- +title: tabs.onUpdated +slug: Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated +tags: + - API + - Add-ons + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onUpdated + - tabs +translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated +--- +<p>C'est déclenché lorsqu'un onglet est mis à jour.</p> + +<p>Lorsque l'utilisateur navigue vers une nouvelle URL dans un onglet, cela génère généralement plusieurs événements <code>onUpdated</code> au fur et à mesure que diverses propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}} sont mises à jour. Ceci inclut l' <code>url</code>, mais aussi potentiellement le <code>title</code> et les propriétés <code>favIconUrl</code>. La propriété du <code>status</code> passe par le <code>"loading"</code> et <code>"complete"</code>.</p> + +<p>Cet événement sera également déclenché pour les modifications des propriétés d'un onglet qui n'impliquent pas de navigation, comme le pinning et le débrochage (qui met à jour la propriété <code>pinned</code>) et le muting ou le unmuting (qui met à jour les propriétés <code>audible</code> et <code>mutedInfo</code>).</p> + +<p>Vous pouvez filtrer cet événement, en le rendant uniquement valable pour les onglets dont les urls correspondent à des <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">patterns</a> spécifiques, ou pour les modifications de propriétés spécifiques, ou pour les modifications d'un onglet ou d'une fenêtre spécifique, ou toute combinaison de ces restrictions.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">browser.tabs.onUpdated.addListener(listener[, extraParameters]) +browser.tabs.onUpdated.removeListener(listener) +browser.tabs.onUpdated.hasListener(listener) +</pre> + +<p>Les événements ont trois fonctions :</p> + +<dl> + <dt><code>addListener(callback[, extraParameters])</code></dt> + <dd>Ajoute un écouteur à cet événement</dd> + <dt><code>removeListener(listener)</code></dt> + <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd> + <dt><code>hasListener(listener)</code></dt> + <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd> +</dl> + +<h2 id="Syntaxe_addListener">Syntaxe addListener</h2> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>callback</code></dt> + <dd> + <p>Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p> + + <dl class="reference-values"> + <dt><code>tabId</code></dt> + <dd><code>integer</code>. ID de l'onglet qui a été mis à jour.</dd> + <dt><code>changeInfo</code></dt> + <dd><a href="https://developer.mozilla.org/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated$edit#changeInfo"><code>object</code></a>. ontient les propriétés des propriétés de l'onglet qui ont été modifiées. Voir <code><a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/onUpdated#changeInfo">changeInfo</a></code> ci-dessous.</dd> + <dt><code>tab</code></dt> + <dd>{{WebExtAPIRef('tabs.Tab')}}. Le nouvel état de l'onglet.</dd> + </dl> + </dd> + <dt><code>extraParameters</code>{{optional_inline}}</dt> + <dd> + <p><code>object</code>. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur. C'est un objet qui peut avoir une ou plusieurs des propriétés suivantes. Les événements ne seront envoyés que s'ils satisfont à tous les filtres donnés.</p> + + <dl class="reference-values"> + <dt><code>urls</code></dt> + <dd><code>Array</code>. Un tableau <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a>. Ne déclenchez l'événement que pour les onglets dont la propriété de l'<code>url</code> courante correspond à l'un des motifs.</dd> + <dt><code>properties</code></dt> + <dd> + <p><code>Array</code>. un tableau de chaîne de caractères, qui sont les noms des propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}}. Ne déclenchez cet événement seulement pour les changement apportées à l'une des propriétés nommées dans ce tableau. Les propriétés suivantes peuvent être listées ici :</p> + + <ul> + <li>"attention"</li> + <li>"audible"</li> + <li>"discarded"</li> + <li>"favIconUrl"</li> + <li>"hidden"</li> + <li>"isArticle"</li> + <li>"mutedInfo"</li> + <li>"pinned"</li> + <li>"sharingState"</li> + <li>"status"</li> + <li>"title"</li> + </ul> + </dd> + <dt><code>tabId</code></dt> + <dd><code>Integer</code>. Ne déclenchez cet événement que pour l'onglet identifié par cet ID.</dd> + <dt><code>windowId</code></dt> + <dd><code>Integer</code>. N'activez cet événement que pour les onglets qui se trouvent actuellement dans la fenêtre identifiée par cet ID.</dd> + </dl> + </dd> +</dl> + +<h2 id="Objets_supplémentaires">Objets supplémentaires</h2> + +<h3 id="changeInfo">changeInfo</h3> + +<p>Répertorie les modifications apportées à l'état de l'onglet mis à jour. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.</p> + +<dl class="reference-values"> + <dt><code>attention</code> {{optional_inline}}</dt> + <dd><code>boolean</code>. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, <code>attention</code> sera <code>true</code>.</dd> + <dt><code>audible</code>{{optional_inline}}</dt> + <dd><code>boolean</code>. Nouvel état audible de l'onglet.</dd> + <dt><code>discarded</code> {{optional_inline}}</dt> + <dd><code>boolean</code>. Si l'onglet est ignoré. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.</dd> + <dt><code>favIconUrl</code>{{optional_inline}}</dt> + <dd><code>string</code>. Nouvelle URL de favicon de l'onglet.</dd> + <dt><code>mutedInfo</code>{{optional_inline}}</dt> + <dd>{{WebExtAPIRef('tabs.MutedInfo')}}. Le nouvel état muet de l'onglet et la raison du changement.</dd> + <dt><code>pinned</code>{{optional_inline}}</dt> + <dd><code>boolean</code>. Nouvel état épinglé de l'onglet.</dd> + <dt><code>status</code>{{optional_inline}}</dt> + <dd><code>string</code>. Le statut de l'onglet. Peut être soit <em>chargé</em> ou <em>complet</em>.</dd> + <dt><code>title</code>{{optional_inline}}</dt> + <dd><code>string</code>. Le nouveau titre de l'onglet.</dd> + <dt><code>url</code>{{optional_inline}}</dt> + <dd><code>string</code>. L'URL de l'onglet s'il a changé.</dd> +</dl> + +<h2 id="Exemples">Exemples</h2> + +<p>Écoutez et connectez toutes les informations de changement et nouvel état:</p> + +<pre class="brush: js">function handleUpdated(tabId, changeInfo, tabInfo) { + console.log("Updated tab: " + tabId); + console.log("Changed attributes: "); + console.log(changeInfo); + console.log("New tab Info: "); + console.log(tabInfo); +} + +browser.tabs.onUpdated.addListener(handleUpdated);</pre> + +<p>Consigner les modifications dans les URL :</p> + +<pre class="brush: js">function handleUpdated(tabId, changeInfo, tabInfo) { + if (changeInfo.url) { + console.log("Tab: " + tabId + + " URL changed to " + changeInfo.url); + } +} + +browser.tabs.onUpdated.addListener(handleUpdated);</pre> + +<h3 id="Filtering_examples">Filtering examples</h3> + +<p>Le journal ne change que pour les onglets dont la propriété <code>url</code> est <a href="/en-US/Add-ons/WebExtensions/Match_patterns">matched</a> par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet":</p> + +<pre class="brush: js">const pattern1 = "https://developer.mozilla.org/*"; +const pattern2 = "https://twitter.com/mozdevnet"; + +const filter = { + urls: [pattern1, pattern2] +} + +function handleUpdated(tabId, changeInfo, tabInfo) { + console.log(`Updated tab: ${tabId}`); + console.log("Changed attributes: ", changeInfo); + console.log("New tab Info: ", tabInfo); +} + +browser.tabs.onUpdated.addListener(handleUpdated, filter);</pre> + +<p>Le journal ne change que la propriété <code>épinglée</code> des onglets (c'est-à-dire les actions d'épinglage et de déblocage) :</p> + +<pre class="brush: js">const filter = { + properties: ["pinned"] +} + +function handleUpdated(tabId, changeInfo, tabInfo) { + console.log(`Updated tab: ${tabId}`); + console.log("Changed attributes: ", changeInfo); + console.log("New tab Info: ", tabInfo); +} + +browser.tabs.onUpdated.addListener(handleUpdated, filter);</pre> + +<p>Combiner les deux filtres précédents : changements de journal seulement :</p> + +<ul> + <li>A la propriété <code>épinglée</code> des onglets</li> + <li>Dont la propriété <code>url</code> est <a href="/en-US/Add-ons/WebExtensions/Match_patterns">matched</a> par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet":</li> +</ul> + +<pre class="brush: js">const pattern1 = "https://developer.mozilla.org/*"; +const pattern2 = "https://twitter.com/mozdevnet"; + +const filter = { + urls: [pattern1, pattern2], + properties: ["pinned"] +} + +function handleUpdated(tabId, changeInfo, tabInfo) { + console.log(`Updated tab: ${tabId}`); + console.log("Changed attributes: ", changeInfo); + console.log("New tab Info: ", tabInfo); +} + +browser.tabs.onUpdated.addListener( + handleUpdated, + filter);</pre> + +<p>Changements dans le journal seulement :</p> + +<ul> + <li>A la propriété <code>épinglée</code> des onglets</li> + <li>Dont la propriété <code>url</code> est <a href="/en-US/Add-ons/WebExtensions/Match_patterns">matched</a> par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet"</li> + <li>et qui font partie de la fenêtre actuelle du navigateur au moment où l'événement de mise à jour est déclenché :</li> +</ul> + +<pre class="brush: js">const pattern1 = "https://developer.mozilla.org/*"; +const pattern2 = "https://twitter.com/mozdevnet"; + +const filter = { + urls: [pattern1, pattern2], + properties: ["pinned"], + windowId: browser.windows.WINDOW_ID_CURRENT +} + +function handleUpdated(tabId, changeInfo, tabInfo) { + console.log(`Updated tab: ${tabId}`); + console.log("Changed attributes: ", changeInfo); + console.log("New tab Info: ", tabInfo); +} + +browser.tabs.onUpdated.addListener( + handleUpdated, + filter);</pre> + +<p>{{WebExtExamples}}</p> + +<p> </p> + +<dl class="reference-values"> +</dl> + +<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.tabs.onUpdated", 10)}}</p> + +<p> </p> + +<div class="note"><strong>Remerciements :</strong> + +<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p> +</div> + +<div class="hidden"> +<pre>// Copyright 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +</pre> +</div> + +<p>{{AddonSidebar}}</p> |
