Use this API to register user scripts, third-party scripts designed to manipulate webpages or provide new features. Registering a user script instructs the browser to attach the script to pages that match the URL patterns specified during registration.
Note: When using Manifest V3 or higher, use scripting.registerContentScripts()
to register scripts.
This API offers similar capabilities to contentScripts
but with features suited to handling third-party scripts:
- execution is in an isolated sandbox: each user script is run in an isolated sandbox within the web content processes, preventing accidental or deliberate interference among scripts.
- access to the
window
anddocument
global values related to the webpage the user script is attached to. - no access to WebExtension APIs or associated permissions granted to the extension: the API script, which inherits the extension's permissions, can provide packaged WebExtension APIs to registered user scripts. An API script is declared in the extension's manifest file using the "user_scripts" manifest key.
Warning: This API requires the presence of the user_scripts
key in the manifest.json, even if no API script is specified. For example. user_scripts: {}
.
To use the API, call
passing in an object defining the scripts to register. The method returns a Promise that is resolved with a register()
object.RegisteredUserScript
Note: User scripts are unregistered when the related extension page (from which the user scripts were registered) is unloaded, so you should register a user script from an extension page that persists at least as long as you want the user scripts to stay registered.