files/en-us/mozilla/add-ons/webextensions/api/userscripts_legacy/index.md
[!WARNING] This is documentation for the legacy
userScriptsAPI. It's available in Firefox for Manifest V2. For functionality to work with user scripts in Manifest V3 see the new {{WebExtAPIRef("userScripts")}} API.
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.
This API offers similar capabilities to {{WebExtAPIRef("contentScripts")}} but with features suited to handling third-party scripts:
window and document global values related to the webpage the user script is attached to.[!WARNING] This API requires the presence of the
user_scriptskey in the manifest.json, even if no API script is specified. For example.user_scripts: {}.
To use the API, call {{WebExtAPIRef("userScripts_legacy.register","register()")}} passing in an object defining the scripts to register. The method returns a Promise that is resolved with a {{WebExtAPIRef("userScripts_legacy.RegisteredUserScript","RegisteredUserScript")}} object.
[!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.
object returned by the {{WebExtAPIRef("userScripts_legacy.register","register()")}} method. It represents the registered user scripts and is used to deregister the user scripts.object passed to the {{WebExtAPIRef("userScripts_legacy.register","register()")}} method. It represents the content scripts to register."user_scripts", that execute before a user script executes. Use it to trigger the export of the additional APIs provided by the API script, so they are available to the user script.{{Compat}}
userScripts (Legacy)