Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/scripting/registercontentscripts/index.md
6552 views
---
title: scripting.registerContentScripts() slug: Mozilla/Add-ons/WebExtensions/API/scripting/registerContentScripts page-type: webextension-api-function tags: - API - Add-ons - Extensions - Method - Reference - WebExtensions - registerContentScripts - scripting browser-compat: webextensions.api.scripting.registerContentScripts
---

{{AddonSidebar()}}

Registers one or more content scripts.

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

await browser.scripting.registerContentScripts( scripts // array )

Parameters

  • scripts

    • : array of {{WebExtAPIRef("scripting.RegisteredContentScript")}}. A list of scripts to register.

Return value

A Promise that fulfills with an array of {{WebExtAPIRef("scripting.RegisteredContentScript")}}. If there are errors during script parsing and file validation, or if the IDs specified do not exist, no scripts are registered and the promise is rejected.

Examples

This example registers a content script that injects the file "script.js":

const aScript = { id: "a-script", js: ["script.js"], matches: ["https://example.com/*"], }; try { await browser.scripting.registerContentScripts([aScript]); } catch (err) { console.error(`failed to register content scripts: ${err}`); }

{{WebExtExamples}}

Browser compatibility

{{Compat}}

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