Files
wxt/docs/guide/content-scripts.md
T
2023-07-16 10:10:25 -05:00

1.4 KiB

Content Scripts

Chrome DocsFirefox Docs

Filenames

When a filename matches the pattern below, it is added as a content script in the manifest.json.

  • entrypoints/content.tsx?
  • entrypoints/<name>.content.tsx?
  • entrypoints/content/index.tsx?
  • entrypoints/<name>.content/index.tsx?

Definition

export default defineContentScript({
  // Set manifest options
  matches: ['*://google.com/*', '*://duckduckgo.com/*'],
  excludeMatches: undefined | [],
  includeGlobs: undefined | [],
  excludeGlobs: undefined | [],
  allFrames: undefined | [],
  runAt: undefined | 'document_start' | 'document_end' | 'document_idle',
  matchAboutBlank: undefined | true | false,
  matchOriginAsFallback: undefined | true | false,
  world: undefined | 'ISOLATED' | 'MAIN',

  main() {
    // Executed when content script is loaded
  },
});

All manifest options default to undefined.

CSS

To include CSS with your content script, import the CSS file at the top of your entrypoint:


<srcDir>
└─ entrypoints/
   └─ overlay.content/
      ├─ index.ts
      └─ style.css
// entrypoints/overlay.content/index.ts
import './style.css';

export default defineContentScript({
  matches: ['*://google.com/*', '*://duckduckgo.com/*'],
  main() {
    // ...
  },
});