contentScripts

Use this API to register content scripts. Registering a content script instructs the browser to insert the given content scripts into pages that match the given URL patterns.

This API is very similar to the "content_scripts" manifest.json key, except that with "content_scripts" , the set of content scripts and associated patterns is fixed at install time. With the contentScripts API, an extension can register and unregister scripts at runtime.

To use the API, call contentScripts.register() passing in an object defining the scripts to register, the URL patterns, and other options. This returns a Promise that is resolved with a contentScripts.RegisteredContentScript object.

The RegisteredContentScript object represents the scripts that were registered in the register() call. It defines an unregister() method that you can use to unregister the content scripts. Content scripts are also unregistered automatically when the page that created them is destroyed. For example, if they are registered from the background page they will be unregistered automatically when the background page is destroyed, and if they are registered from a sidebar or a popup, they will be unregistered automatically when the sidebar or popup is closed.

There is no contentScripts API permission, but an extension must have the appropriate host permissions for any patterns it passes to register().

Types

contentScripts.RegisteredContentScript

An object of this type is returned by the contentScripts.register() function. It represents the content scripts that were registered by that call, and can be used to unregister the content script.

Functions

contentScripts.register()
Registers the given content scripts.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
RegisteredContentScript
No
There is a polyfill available.
No
There is a polyfill available.
59
?
No
No
There is a polyfill available.
?
?
59
?
?
?
register
No
There is a polyfill available.
No
There is a polyfill available.
59
?
No
No
There is a polyfill available.
?
?
59
?
?
?

Example extensions

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/contentScripts