userScripts

Utilisez cette API pour enregistrer des scripts utilisateurs, des scripts tiers conçus pour manipuler des pages web ou fournir de nouvelles fonctionnalités. L'enregistrement d'un script utilisateur indique au navigateur de joindre le script aux pages qui correspondent aux modèles d'URL spécifiés lors de l'enregistrement.

Cette API offre des capacités similaires à contentScripts mais avec des fonctionnalités adaptées à la gestion de scripts tiers :

  • l'exécution se fait dans une sandbox isolée : chaque script utilisateur est exécuté dans une sandbox isolée au sein des processus de contenu web, ce qui empêche toute interférence accidentelle ou délibérée entre les scripts.
  • l'accès à la fenêtre et aux valeurs globales du document liées à la page web à laquelle le script utilisateur est attaché.
  • aucun accès aux API de WebExtension ou aux autorisations associées accordées à l'extension : le script API, qui hérite des autorisations de l'extension, peut fournir des API de WebExtension packagées aux scripts utilisateur enregistrés. Un script API est déclaré dans le fichier manifeste de l'extension en utilisant la clé du manifeste "user_scripts".

Cette API requiert la présence de la clé user_scripts dans le manifest.json, même si aucun script API n'est spécifié. Par exemple, user_scripts: {}.

Pour utiliser l'API, appelez register() en passant un objet définissant les scripts à enregistrer. La méthode renvoie une promesse qui est résolue par un objet  RegisteredUserScript.

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

Types

userScripts.RegisteredUserScript
L'object renvoyé par la méthode  register(). Il représente les scripts utilisateur enregistrés et est utilisé pour désenregistrer les scripts utilisateur.

Méthodes

userScripts.register()
Enregistre les scripts utilisateur donnés.

Evénements

userScripts.onBeforeScript
Un événement disponible pour le script API, enregistré dans "user_scripts", qui s'exécute avant qu'un script utilisateur ne s'exécute. Utilisez-le pour déclencher l'exportation des API supplémentaires fournies par le script API, afin qu'elles soient disponibles pour le script utilisateur.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaSafariFirefox pour Android
RegisteredUserScriptChrome 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
RegisteredUserScript.unregisterChrome 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
onBeforeScriptChrome 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
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