scripting.getRegisteredContentScripts()

Returns all the content scripts registered with scripting.registerContentScripts() or a subset of the registered scripts when using a filter.

Note: This method is available in Manifest V3 or higher in Chrome and Firefox 101. In Firefox 102+, this method is also available in Manifest V2.

To use this API you must have the scripting permission. To run scripts, the extension must have permission for the page's URL, either explicitly as a host permission or using the activeTab permission.

This is an asynchronous function that returns a Promise.

Syntax

js
let scripts = await browser.scripting.getRegisteredContentScripts(
  filter          // object
)

Parameters

filter Optional

scripting.ContentScriptFilter. A filter for the registered script details to return.

Return value

A Promise that fulfills with an array of scripting.RegisteredContentScript. If any error occurs, the promise is rejected.

Examples

This example returns all the registered content scripts:

js
// Register two content scripts.
await browser.scripting.registerContentScripts([
  {
    id: "script-1",
    js: ["script-1.js"],
    matches: ["*://example.com/*"],
  },
  {
    id: "script-2",
    js: ["script-2.js"],
    matches: ["*://example.com/*"],
  },
]);

// Retrieve all content scripts.
let scripts = await browser.scripting.getRegisteredContentScripts();
console.log(scripts.map((script) => script.id)); // ["script-1", "script-2"]

// Only retrieve the second script.
scripts = await browser.scripting.getRegisteredContentScripts({
  ids: ["script-2"],
});
console.log(scripts.map((script) => script.id)); // ["script-2"]

Browser compatibility

Note: This API is based on Chromium's chrome.scripting API.