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 and 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

BCD tables only load in the browser

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