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

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é du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaSafariFirefox pour Android
registerChrome Aucun support NonEdge Aucun support NonFirefox Support complet 68
Support complet 68
Support complet 66
Désactivée
Désactivée From version 66: this feature is behind the extensions.webextensions.userScripts.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Aucun support NonSafari Aucun support NonFirefox Android Support complet 68

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi