From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../webextensions/api/contentscripts/index.html | 45 +++++++++ .../api/contentscripts/register/index.html | 106 +++++++++++++++++++++ .../registeredcontentscript/index.html | 69 ++++++++++++++ .../registeredcontentscript/unregister/index.html | 67 +++++++++++++ 4 files changed, 287 insertions(+) create mode 100644 files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.html create mode 100644 files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.html create mode 100644 files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.html create mode 100644 files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.html (limited to 'files/fr/mozilla/add-ons/webextensions/api/contentscripts') diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.html b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.html new file mode 100644 index 0000000000..ff9ccb42bb --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.html @@ -0,0 +1,45 @@ +--- +title: contentScripts +slug: Mozilla/Add-ons/WebExtensions/API/contentScripts +tags: + - API + - Add-ons + - Extensions + - Interface + - WebExtensions + - contentScripts +translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts +--- +
{{AddonSidebar}}
+ +

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.

+ +

Cette API est très similaire à la clé "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.

+ +

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 qui est résolue avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}}.

+ +

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.

+ +

Il n'y a pas de permission de l'API contentScripts, mais une extension doit disposer des permissions d'hôte appropriées pour tous les modèles qu'elle transmet à register().

+ +

Types

+ +
+
{{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.

+
+
+ +

Fonctions

+ +
+
{{WebExtAPIRef("contentScripts.register()")}}
+
Enregistre les scripts de contenu donnés.
+
+ +

Compatibilité du navigateur

+ +

{{Compat("webextensions.api.contentScripts", 10, 1)}}

+ +

 {{WebExtExamples("h2")}}

diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.html b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.html new file mode 100644 index 0000000000..821f078eae --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.html @@ -0,0 +1,106 @@ +--- +title: contentScripts.register() +slug: Mozilla/Add-ons/WebExtensions/API/contentScripts/register +tags: + - API + - Extensions + - Méthode + - Reference + - contentScripts + - register +translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts/register +--- +
{{AddonSidebar()}}
+ +

Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu.

+ +

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 (mais notez que content_scripts est un tableau d'objets, tandis que l'argument de register() est un simple objet).

+ +

C'est une fonction asynchrone qui renvoie une Promise.

+ +

Syntaxe

+ +
var registering = browser.contentScripts.register(
+  contentScriptOptions       // object
+)
+
+ +

Paramètres

+ +
+
contentScriptOptions
+
+

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.  Les différences sont :

+ +
    +
  • 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.
  • +
+ +

L'objet RegisteredContentScriptOptions a les propriétés suivantes :

+ +
+
allFrames{{optional_inline}}
+
Identique à all_frames dans la clé 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.
+
excludeMatches{{optional_inline}}
+
Identique à exclude_matches dans la clé content_scripts.
+
includeGlobs{{optional_inline}}
+
Identique à include_globs dans la clé 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.
+
matches
+
Identique à matches dans la clé content_scripts.
+
runAt{{optional_inline}}
+
Identique à run_at dans la clé content_scripts.
+
+
+
+ +

Return value

+ +

Une Promise qui sera remplie avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} que vous pouvez utiliser pour annuler l'enregistrement des scripts de contenu.

+ +

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.

+ +

Compatibilité du navigateur

+ + + +

{{Compat("webextensions.api.contentScripts.register", 10)}}

+ +

Exemples

+ +

Cet exemple enregistre le script de contenu defaultCode  pour toutes les URL .org :

+ +
const defaultHosts = "*://*.org/*";
+const defaultCode = "document.body.innerHTML = '<h1>This page has been eaten<h1>'";
+
+async function register(hosts, code) {
+
+  return await browser.contentScripts.register({
+    matches: [hosts],
+    js: [{code}],
+    runAt: "document_idle"
+  });
+
+}
+
+var registered = register(defaultHosts, defaultCode);
+ +

Ce code enregistre le fichier JS à l'adresse content_scripts/example.js:

+ +
const scriptObj = await browser.contentScripts.register({
+  "js": [{file: "/content_scripts/example.js"}],
+  "matches": ["<all_urls>"],
+  "allFrames": true,
+  "runAt": "document_start"
+});
+
+ +

{{WebExtExamples}}

diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.html b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.html new file mode 100644 index 0000000000..140a7246dc --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.html @@ -0,0 +1,69 @@ +--- +title: contentScripts.RegisteredContentScript +slug: Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript +tags: + - API + - Extensions + - NeedsTranslation + - Reference + - RegisteredContentScript + - TopicStub + - Type + - contentScripts +translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript +--- +
{{AddonSidebar()}}
+ +

Un RegisteredContentScript est renvoyé par un appel à  {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel.

+ +

Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu.

+ +
+

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.

+
+ +

Méthodes

+ +
+
{{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}}
+
Annule l'inscription des scripts de contenu représentés par cet objet.
+
+ +

Compatibilité du navigateur

+ + + +

{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}}

+ +

Exemples

+ +

Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :

+ +
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>'"
+    }],
+    runAt: "document_idle"
+  });
+
+}
+
+function toggle() {
+  if (registered) {
+    registered.unregister();
+    registered = null;
+  } else {
+    register();
+  }
+}
+
+browser.browserAction.onClicked.addListener(toggle);
+
+
+ +

{{WebExtExamples}}

diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.html b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.html new file mode 100644 index 0000000000..90c045d86b --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.html @@ -0,0 +1,67 @@ +--- +title: contentScripts.RegisteredContentScript.unregister() +slug: >- + Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript/unregister +tags: + - API + - Extensions + - Reference + - RegisteredContentScript.unregister + - contentScripts +translation_of: >- + Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript/unregister +--- +
{{AddonSidebar()}}
+ +
Annule l'inscription des scripts de contenu représentés par cet objet RegisteredContentScript.
+ +

Syntaxe

+ +
registered.unregister()
+
+ +

Paramètres

+ +

None.

+ +

Valeur retournée

+ +

None.

+ +

Compatibilité du navigateur

+ + + +

{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}}

+ +

Exemples

+ +

Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :

+ +
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>'"
+    }],
+    runAt: "document_idle"
+  });
+
+}
+
+function toggle() {
+  if (registered) {
+    registered.unregister();
+    registered = null;
+  } else {
+    register();
+  }
+}
+
+browser.browserAction.onClicked.addListener(toggle);
+
+ +

{{WebExtExamples}}

-- cgit v1.2.3-54-g00ecf