diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md')
-rw-r--r-- | files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md | 78 |
1 files changed, 35 insertions, 43 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md index c1848d3c92..4dd6c859f1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md @@ -13,55 +13,49 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/handlerBehaviorChanged --- -<div>{{AddonSidebar()}}</div> +{{AddonSidebar()}}Cette fonction peut être utilisée pour s'assurer que les auditeurs d'événements sont appliqués correctement lorsque les pages se trouvent dans le cache en mémoire du navigateur.Si le navigateur a chargé une page et que la page est rechargée, le navigateur peut recharger la page à partir de son cache en mémoire, et dans ce cas, les événements ne seront pas déclenchés pour la demande. -<div>Cette fonction peut être utilisée pour s'assurer que les auditeurs d'événements sont appliqués correctement lorsque les pages se trouvent dans le cache en mémoire du navigateur.</div> +Supposons que le travail d'une extension consiste à bloquer les requêtes Web par rapport à un modèle, et le scénario suivant se produit : -<div></div> +- L'utilisateur charge une page qui inclut une requête particulière, et le modèle permet la requête. +- La ressource est chargée et mise en cache en mémoire. +- Les modèles de l'extension sont mis à jour, de telle sorte que la ressource ne serait plus autorisée. +- L'utilisateur recharge la page. -<div>Si le navigateur a chargé une page et que la page est rechargée, le navigateur peut recharger la page à partir de son cache en mémoire, et dans ce cas, les événements ne seront pas déclenchés pour la demande.</div> +Comme la page sera rechargée à partir du cache mémoire, il se peut que l'auditeur ne soit plus appelé et que la requête soit chargée malgré la nouvelle stratégie de l'extension. -<p>Supposons que le travail d'une extension consiste à bloquer les requêtes Web par rapport à un modèle, et le scénario suivant se produit :</p> +La fonction `handlerBehaviorChanged()` est conçue pour résoudre ce problème. Il vide le cache en mémoire, de sorte que les rechargements de page déclenchent les auditeurs d'événements. -<ul> - <li>L'utilisateur charge une page qui inclut une requête particulière, et le modèle permet la requête.</li> - <li>La ressource est chargée et mise en cache en mémoire.</li> - <li>Les modèles de l'extension sont mis à jour, de telle sorte que la ressource ne serait plus autorisée.</li> - <li>L'utilisateur recharge la page.</li> -</ul> +Parce que `handlerBehaviorChanged()` nettoie le cache, cela peut être coûteux et mauvais pour la performance. Le module webRequest définit une propriété en lecture seule {{WebExtAPIRef("webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES", "MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}} : faire plus d'appels que ce nombre en 10 minutes n'aura aucun effet. -<p>Comme la page sera rechargée à partir du cache mémoire, il se peut que l'auditeur ne soit plus appelé et que la requête soit chargée malgré la nouvelle stratégie de l'extension.</p> +L'implémentation de la mise en cache, d'où la nécessité de cette fonction, varie d'un navigateur à l'autre, de sorte que dans certains navigateurs, cette fonction ne fait rien. -<p>La fonction <code>handlerBehaviorChanged()</code> est conçue pour résoudre ce problème. Il vide le cache en mémoire, de sorte que les rechargements de page déclenchent les auditeurs d'événements.</p> +Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -<p>Parce que <code>handlerBehaviorChanged()</code> nettoie le cache, cela peut être coûteux et mauvais pour la performance. Le module webRequest définit une propriété en lecture seule {{WebExtAPIRef("webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES", "MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}} : faire plus d'appels que ce nombre en 10 minutes n'aura aucun effet.</p> +## Syntaxe -<p>L'implémentation de la mise en cache, d'où la nécessité de cette fonction, varie d'un navigateur à l'autre, de sorte que dans certains navigateurs, cette fonction ne fait rien.</p> +```js +var flushingCache = browser.webRequest.handlerBehaviorChanged() +``` -<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p> +### Paramètres -<h2 id="Syntaxe">Syntaxe</h2> +None. -<pre class="brush: js">var flushingCache = browser.webRequest.handlerBehaviorChanged() -</pre> +### Valeur retournée -<h3 id="Paramètres">Paramètres</h3> +Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments, lorsque l'opération sera terminée. -<p>None.</p> +## Compatibilité du navigateur -<h3 id="Valeur_retournée">Valeur retournée</h3> +{{Compat("webextensions.api.webRequest.handlerBehaviorChanged")}} -<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans arguments, lorsque l'opération sera terminée.</p> +## Exemples -<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> +Dans le snippet suivant, nous vidons le cache en mémoire via un appel à `handlerBehaviorChanged()`, et signalons cette action en enregistrant un message approprié à la console. -<p>{{Compat("webextensions.api.webRequest.handlerBehaviorChanged")}}</p> - -<h2 id="Exemples">Exemples</h2> - -<p>Dans le snippet suivant, nous vidons le cache en mémoire via un appel à <code>handlerBehaviorChanged()</code>, et signalons cette action en enregistrant un message approprié à la console.</p> - -<pre class="brush: js">function onFlushed() { +```js +function onFlushed() { console.log(`In-memory cache flushed`); } @@ -70,19 +64,18 @@ function onError(error) { } var flushingCache = browser.webRequest.handlerBehaviorChanged(); -flushingCache.then(onFlushed, onError);</pre> - -<p>{{WebExtExamples}}</p> - -<div class="note"><p><strong>Note :</strong></p> +flushingCache.then(onFlushed, onError); +``` -<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p> +{{WebExtExamples}} -<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> +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> 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. -<div class="hidden"> -<pre>// Copyright 2015 The Chromium Authors. All rights reserved. +<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 @@ -109,5 +102,4 @@ flushingCache.then(onFlushed, onError);</pre> // 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> +</pre></div> |