userScripts.register()

Dans les pages d'une extension (comme la page d'arrière plan), l'API userScripts fournit une méthode API register(). Cette méthode est très similaire à la méthode API contentScripts.register() (par exemple, ils retournent tous les deux une promise qui est résolue à un objet API qui fournit un unregister() pour la désinscription du script enregistré de tous les processus enfants), avec quelques différences dans les options prises en charge.

C'est une méthode asynchrone qui retourne un Promise.

Syntaxe

js
const registeredUserScript = await browser.userScripts.register(
  userScriptOptions       // object
);
….
await registeredUserScript.unregister();

Paramètres

userScriptOptions

object. Un objet UserScriptOptions représentant les scripts de contenu à enregistrer. Il a une syntaxe similaire aux options supportées par contentScripts.register().

L'objet UserScriptOptions possède les propriétés suivantes :

scriptMetadata Facultatif

Un objet JSON qui contient certaines propriétés de métadonnées associées aux userScripts enregistrés

allFrames Facultatif

Identiques à all_frames dans la clé user_scripts.

excludeGlobs Facultatif

Identique à exclude_globs dans la clé user_scripts.

excludeMatches Facultatif

Identique à exclude_matches dans la clé user_scripts.

includeGlobs Facultatif

Identique à include_globs dans la clé user_scripts.

js Facultatif

Un tableau d'objets. Chaque objet a soit une propriété nommée file, qui est une URL commençant par le fichier manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée code, qui est un code JavaScript à enregistrer.

matchAboutBlank Facultatif

Identique à match_about_blank dans la clé user_scripts.

matches

Identique à matches dans la clé user_scripts.

runAt Facultatif

Identique à run_at dans la clé user_scripts.

Contrairement aux options de script de contenu, l'objet userScriptOptions n'a pas de propriété css. Utilisez contentScripts.register() pour enregistrer/désenregistrer dynamiquement les feuilles de style).

Valeur retournée

Une Promise qui sera rempli avec un objet RegisteredUserScript que vous pouvez utiliser pour désinscrire ce script utilisateur particulier.

Note : Actuellement, les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés.

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi