JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7368
  • Score
    100M100P100Q124942F
  • License MIT

Utility functions to inject content scripts from a WebExtension.

Package Exports

  • webext-content-scripts

Readme

webext-content-scripts npm version

Utility functions to inject content scripts from a WebExtension.

Tested in Chrome, Firefox, and Safari.

Sponsored by PixieBrix 🎉

Install

You can download the standalone bundle and include it in your manifest.json. Or use npm:

npm install webext-content-scripts
// This module is only offered as a ES Module
import {injectContentScript} from 'webext-content-scripts';

Usage

injectContentScript(tabId, scripts)

Like chrome.tabs.executeScript and chrome.tabs.injectCSS but with the same API as the manifest, so you can inject multiple JS and CSS at once. It accepts either an object or an array of objects.

const tabId = 42;
injectContentScript(tabId, {
    run_at: 'document_idle',
    all_frames: true,
    match_about_blank: true,
    js: [
        'contentscript.js'
    ],
    css: [
        'style.css'
    ],
})
injectContentScript({
    tabId: 42,
    frameId: 56
}, [
    {
        js: [
            'jquery.js',
            'contentscript.js'
        ],
        css: [
            'bootstrap.css',
            'style.css'
        ],
    },
    {
    run_at: 'document_start',
        css: [
            'more-styles.css'
        ],
    }
])

License

MIT © Federico Brigante