scripting.removeCSS()
Removes a CSS stylesheet injected by a call to scripting.insertCSS().
Note: This method is available in Manifest V3 or higher in Chrome and Firefox 101. In Safari and 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.removeCSS( details // object )
Parameters
details-
An object describing the CSS to remove and where to remove it from. It contains the following properties:
-
cssOptional -
string. A string containing the CSS to inject. Eithercssorfilesmust be specified and must match the stylesheet inserted throughscripting.insertCSS(). -
filesOptional -
arrayofstring. The path of a CSS files to inject, relative to the extension's root directory. Eitherfilesorcssmust be specified and must match the stylesheet inserted throughscripting.insertCSS(). -
originOptional -
string. The style origin for the injection, eitherUSERorAUTHOR. Defaults toAUTHOR. Must match the origin of the stylesheet inserted throughscripting.insertCSS(). target-
scripting.InjectionTarget. Details specifying the target to remove the CSS from.
-
Return value
A Promise that fulfills with no arguments when all the CSS is removed. If any error occurs, the promise is rejected. Attempts to remove non-existent stylesheets are ignored.
Examples
This example adds some CSS using scripting.insertCSS, then removes it again when the user clicks a browser action:
// Assuming some style has been injected previously with the following code: // // await browser.scripting.insertCSS({ // target: { // tabId: tab.id, // }, // css: "* { background: #c0ffee }", // }); // // We can remove it when a user clicked an extension button like this: browser.action.onClicked.addListener(async (tab) => { try { await browser.scripting.removeCSS({ target: { tabId: tab.id, }, css: "* { background: #c0ffee }", }); } catch (err) { console.error(`failed to remove CSS: ${err}`); } });
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 | |
removeCSS |
88 | 88 | 102 | ? | 74 | 15.4 | ? | ? | 102 | ? | 15.4 | ? |
origin |
88 | 88 | 102 | ? | 74 | No | ? | ? | 102 | ? | No | ? |
Note: This API is based on Chromium's chrome.scripting API.
© 2005–2023 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/scripting/removeCSS