contentScripts.register()

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 talbeau d'objets, tandis que l'argument de register() est un cimple 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 :

allFramesFacultatif
Identique à all_frames dans la clé content_scripts.
cssFacultatif
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.
excludeGlobsFacultatif
Identique à exclude_globs dans la clé content_scripts.
excludeMatchesFacultatif
Identique à exclude_matches dans la clé content_scripts.
includeGlobsFacultatif
Identique à include_globs dans la clé content_scripts.
jsFacultatif
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.
matchAboutBlankFacultatif
Identique à match_about_blank dans la clé content_scripts.
matches
Identique à matches dans la clé content_scripts.
runAtFacultatif
Identique à run_at dans la clé content_scripts.

Return value

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

Notez que 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.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaFirefox pour Android
Support simpleChrome Aucun support NonEdge Aucun support NonFirefox Support complet 59Opera Aucun support NonFirefox Android Support complet 59

Légende

Support complet  
Support complet
Aucun support  
Aucun support

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"
});

Example extensions

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,