diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/contentscripts')
4 files changed, 100 insertions, 113 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md index f74668a67d..14ad5b9ea9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md @@ -10,36 +10,30 @@ tags: - contentScripts translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts --- -<div>{{AddonSidebar}}</div> +{{AddonSidebar}} -<p>Utilisez cette API pour enregistrer des scripts de contenu. L'enregistrement d'un script de contenu demande au navigateur d'insérer les scripts de contenu donnés dans des pages correspondant aux modèles d'URL donnés.</p> +Utilisez cette API pour enregistrer des scripts de contenu. L'enregistrement d'un script de contenu demande au navigateur d'insérer les scripts de contenu donnés dans des pages correspondant aux modèles d'URL donnés. -<p>Cette API est très similaire à la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">"content_scripts"</a></code> du manifest.json, à l'exception de <code>"content_scripts"</code> , l'ensemble des scripts de contenu et des motifs associés est fixé au moment de l'installation. Avec l'API <code>contentScripts</code>, une extension peut enregistrer et désenregistrer des scripts au moment de l'exécution.</p> +Cette API est très similaire à la clé [`"content_scripts"`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) du manifest.json, à l'exception de `"content_scripts"` , l'ensemble des scripts de contenu et des motifs associés est fixé au moment de l'installation. Avec l'API `contentScripts`, une extension peut enregistrer et désenregistrer des scripts au moment de l'exécution. -<p>Pour utiliser l'API, appelez {{WebExtAPIRef("contentScripts.register()")}} en passant dans un objet définissant les scripts à enregistrer, les modèles d'URL, et d'autres options. Ceci retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}}.</p> +Pour utiliser l'API, appelez {{WebExtAPIRef("contentScripts.register()")}} en passant dans un objet définissant les scripts à enregistrer, les modèles d'URL, et d'autres options. Ceci retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}}. -<p>L'objet <code>RegisteredContentScript</code> représente les scripts enregistrés dans l'appel <code>register()</code> . Il définit une méthode <code>unregister()</code> que vous pouvez utiliser pour annuler l'inscription des scripts de contenu. Les scripts de contenu sont également désenregistrés automatiquement lorsque la page qui les a créés est détruite. Par exemple, s'ils sont enregistrés à partir de la page d'arrière-plan, ils seront automatiquement désenregistrés lorsque la page d'arrière-plan est détruite et s'ils sont enregistrés depuis une barre latérale ou une fenêtre contextuelle, ils seront automatiquement désinscrits.</p> +L'objet `RegisteredContentScript` représente les scripts enregistrés dans l'appel `register()` . Il définit une méthode `unregister()` que vous pouvez utiliser pour annuler l'inscription des scripts de contenu. Les scripts de contenu sont également désenregistrés automatiquement lorsque la page qui les a créés est détruite. Par exemple, s'ils sont enregistrés à partir de la page d'arrière-plan, ils seront automatiquement désenregistrés lorsque la page d'arrière-plan est détruite et s'ils sont enregistrés depuis une barre latérale ou une fenêtre contextuelle, ils seront automatiquement désinscrits. -<p>Il n'y a pas de permission de l'API <code>contentScripts</code>, mais une extension doit disposer des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> appropriées pour tous les modèles qu'elle transmet à <code>register()</code>.</p> +Il n'y a pas de permission de l'API `contentScripts`, mais une extension doit disposer des [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) appropriées pour tous les modèles qu'elle transmet à `register()`. -<h2 id="Types">Types</h2> +## Types -<dl> - <dt>{{WebExtAPIRef("contentScripts.RegisteredContentScript")}}</dt> - <dd> - <p>Un objet de ce type est renvoyé par la fonction {{WebExtAPIRef("contentScripts.register()")}}. Il représente les scripts de contenu enregistrés par cet appel et peut être utilisé pour annuler l'enregistrement du script de contenu.</p> - </dd> -</dl> +- {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} + - : Un objet de ce type est renvoyé par la fonction {{WebExtAPIRef("contentScripts.register()")}}. Il représente les scripts de contenu enregistrés par cet appel et peut être utilisé pour annuler l'enregistrement du script de contenu. -<h2 id="Fonctions">Fonctions</h2> +## Fonctions -<dl> - <dt>{{WebExtAPIRef("contentScripts.register()")}}</dt> - <dd>Enregistre les scripts de contenu donnés.</dd> -</dl> +- {{WebExtAPIRef("contentScripts.register()")}} + - : Enregistre les scripts de contenu donnés. -<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> +## Compatibilité du navigateur -<p>{{Compat("webextensions.api.contentScripts", 10, 1)}}</p> +{{Compat("webextensions.api.contentScripts", 10, 1)}} -<p> {{WebExtExamples("h2")}}</p> +{{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md index 43d9573646..4102732bdc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md @@ -10,74 +10,69 @@ tags: - register translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts/register --- -<div>{{AddonSidebar()}}</div> +{{AddonSidebar()}} -<p>Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu.</p> +Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu. -<p>Il accepte un paramètre, qui est un objet avec des propriétés similaires aux objets donnés dans la clé du manifest <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> (mais notez que <code>content_scripts</code> est un tableau d'objets, tandis que l'argument de <code>register()</code> est un simple objet).</p> +Il accepte un paramètre, qui est un objet avec des propriétés similaires aux objets donnés dans la clé du manifest [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) (mais notez que `content_scripts` est un tableau d'objets, tandis que l'argument de `register()` est un simple objet). -<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p> +C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="brush: js">var registering = browser.contentScripts.register( +```js +var registering = browser.contentScripts.register( contentScriptOptions // object ) -</pre> +``` -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>contentScriptOptions</code></dt> - <dd> - <p><code>object</code>. Un objet <code>RegisteredContentScriptOptions</code> représentant les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des objets du tableau de clés de manifest <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>. Les différences sont :</p> +- `contentScriptOptions` - <ul> - <li>les noms de propriété utilisent camelCase plutôt que des traits de soulignement (par exemple, <code>excludeMatches</code>, pas <code>exclude_matches</code></li> - <li>les propriétés <code>js</code> et <code>css</code> vous permettent d'enregistrer des chaînes ainsi que des URL, leur syntaxe doit donc distinguer ces types.</li> - </ul> + - : `object`. Un objet `RegisteredContentScriptOptions` représentant les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des objets du tableau de clés de manifest [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). Les différences sont : - <p>L'objet <code>RegisteredContentScriptOptions</code> a les propriétés suivantes :</p> + - les noms de propriété utilisent camelCase plutôt que des traits de soulignement (par exemple, `excludeMatches`, pas `exclude_matches` + - les propriétés `js` et `css` vous permettent d'enregistrer des chaînes ainsi que des URL, leur syntaxe doit donc distinguer ces types. - <dl> - <dt><code>allFrames</code>{{optional_inline}}</dt> - <dd>Identique à <code>all_frames</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - <dt><code>css</code>{{optional_inline}}</dt> - <dd>Un tableau d'objets. Chaque objet possède soit une propriété nommée <code>file</code>, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier CSS à enregistrer, soit une propriété nommée <code>code</code>, qui est un code CSS à enregistrer.</dd> - <dt><code>excludeGlobs</code>{{optional_inline}}</dt> - <dd>Identique à <code>exclude_globs</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - <dt><code>excludeMatches</code>{{optional_inline}}</dt> - <dd>Identique à <code>exclude_matches</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - <dt><code>includeGlobs</code>{{optional_inline}}</dt> - <dd>Identique à <code>include_globs</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - <dt><code>js</code>{{optional_inline}}</dt> - <dd>Un tableau d'objets. Chaque objet possède soit une propriété nommée <code>file</code>, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée <code>code</code>, qui est du code JavaScript à enregistrer.</dd> - <dt><code>matchAboutBlank</code>{{optional_inline}}</dt> - <dd>Identique à <code>match_about_blank</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - <dt><code>matches</code></dt> - <dd>Identique à <code>matches</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - <dt><code>runAt</code>{{optional_inline}}</dt> - <dd>Identique à <code>run_at</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd> - </dl> - </dd> -</dl> + L'objet `RegisteredContentScriptOptions` a les propriétés suivantes : -<h3 id="Return_value">Return value</h3> + - `allFrames`{{optional_inline}} + - : Identique à `all_frames` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `css`{{optional_inline}} + - : Un tableau d'objets. Chaque objet possède soit une propriété nommée `file`, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier CSS à enregistrer, soit une propriété nommée `code`, qui est un code CSS à enregistrer. + - `excludeGlobs`{{optional_inline}} + - : Identique à `exclude_globs` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `excludeMatches`{{optional_inline}} + - : Identique à `exclude_matches` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `includeGlobs`{{optional_inline}} + - : Identique à `include_globs` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `js`{{optional_inline}} + - : Un tableau d'objets. Chaque objet possède soit une propriété nommée `file`, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée `code`, qui est du code JavaScript à enregistrer. + - `matchAboutBlank`{{optional_inline}} + - : Identique à `match_about_blank` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). + - `matches` + - : Identique à `matches` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `runAt`{{optional_inline}} + - : Identique à `run_at` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). -<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} que vous pouvez utiliser pour annuler l'enregistrement des scripts de contenu.</p> +### Return value -<p>Actuellement, les scripts de contenu ne sont pas enregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts de contenu ont été enregistrés) est déchargée, vous devez donc enregistrer un script de contenu depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts de contenu restent enregistrés.</p> +Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} que vous pouvez utiliser pour annuler l'enregistrement des scripts de contenu. -<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> +Actuellement, les scripts de contenu ne sont pas enregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts de contenu ont été enregistrés) est déchargée, vous devez donc enregistrer un script de contenu depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts de contenu restent enregistrés. -<p>{{Compat("webextensions.api.contentScripts.register", 10)}}</p> +## Compatibilité du navigateur -<h2 id="Exemples">Exemples</h2> +{{Compat("webextensions.api.contentScripts.register", 10)}} -<p>Cet exemple enregistre le script de contenu <code>defaultCode</code> pour toutes les URL <code>.org</code> :</p> +## Exemples -<pre class="brush: js">const defaultHosts = "*://*.org/*"; -const defaultCode = "document.body.innerHTML = '<h1>This page has been eaten<h1>'"; +Cet exemple enregistre le script de contenu `defaultCode` pour toutes les URL `.org` : + +```js +const defaultHosts = "*://*.org/*"; +const defaultCode = "document.body.innerHTML = '<h1>This page has been eaten<h1>'"; async function register(hosts, code) { @@ -89,16 +84,18 @@ async function register(hosts, code) { } -var registered = register(defaultHosts, defaultCode);</pre> +var registered = register(defaultHosts, defaultCode); +``` -<p>Ce code enregistre le fichier JS à l'adresse content_scripts/example.js:</p> +Ce code enregistre le fichier JS à l'adresse content_scripts/example.js: -<pre class="brush: js">const scriptObj = await browser.contentScripts.register({ +```js +const scriptObj = await browser.contentScripts.register({ "js": [{file: "/content_scripts/example.js"}], - "matches": ["<all_urls>"], + "matches": ["<all_urls>"], "allFrames": true, "runAt": "document_start" }); -</pre> +``` -<p>{{WebExtExamples}}</p> +{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md index 5539d80a6b..7fca953fa0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md @@ -12,39 +12,36 @@ tags: - contentScripts translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript --- -<div>{{AddonSidebar()}}</div> +{{AddonSidebar()}} -<p>Un <code>RegisteredContentScript</code> est renvoyé par un appel à {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel.</p> +Un `RegisteredContentScript` est renvoyé par un appel à {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel. -<p>Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu.</p> +Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu. -<div class="blockIndicator note"> -<p><strong>Note:</strong> Si cet objet est détruit (par exemple parce qu'il est hors de portée), les scripts de contenu seront automatiquement désinscrits. Vous devriez donc garder une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés.</p> -</div> +> **Note :** Si cet objet est détruit (par exemple parce qu'il est hors de portée), les scripts de contenu seront automatiquement désinscrits. Vous devriez donc garder une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés. -<h2 id="Méthodes">Méthodes</h2> +## Méthodes -<dl> - <dt>{{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}}</dt> - <dd>Annule l'inscription des scripts de contenu représentés par cet objet.</dd> -</dl> +- {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}} + - : Annule l'inscription des scripts de contenu représentés par cet objet. -<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> +## Compatibilité du navigateur -<p>{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}}</p> +{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}} -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :</p> +Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur : -<pre class="brush: js">var registered = null; +```js +var registered = null; async function register() { registered = await browser.contentScripts.register({ matches: ["*://*.org/*"], js: [{ - code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'" + code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'" }], runAt: "document_idle" }); @@ -61,7 +58,6 @@ function toggle() { } browser.browserAction.onClicked.addListener(toggle); +``` -</pre> - -<p>{{WebExtExamples}}</p> +{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md index 4f52e84f24..197ca7f70b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md @@ -11,39 +11,39 @@ tags: translation_of: >- Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript/unregister --- -<div>{{AddonSidebar()}}</div> +{{AddonSidebar()}}Annule l'inscription des scripts de contenu représentés par cet objet `RegisteredContentScript`. -<div>Annule l'inscription des scripts de contenu représentés par cet objet <code>RegisteredContentScript</code>.</div> +## Syntaxe -<h2 id="Syntaxe">Syntaxe</h2> +```js +registered.unregister() +``` -<pre class="brush: js">registered.unregister() -</pre> +### Paramètres -<h3 id="Paramètres">Paramètres</h3> +None. -<p>None.</p> +### Valeur retournée -<h3 id="Valeur_retournée">Valeur retournée</h3> +None. -<p>None.</p> +## Compatibilité du navigateur -<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> +{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}} -<p>{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}}</p> +## Exemples -<h2 id="Exemples">Exemples</h2> +Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur : -<p>Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :</p> - -<pre class="brush: js">var registered = null; +```js +var registered = null; async function register() { registered = await browser.contentScripts.register({ matches: ["*://*.org/*"], js: [{ - code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'" + code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'" }], runAt: "document_idle" }); @@ -60,6 +60,6 @@ function toggle() { } browser.browserAction.onClicked.addListener(toggle); -</pre> +``` -<p>{{WebExtExamples}}</p> +{{WebExtExamples}} |