Skip to content

alert() for background pages/workers in Web Extensions

License

Notifications You must be signed in to change notification settings

fregante/webext-alert

Repository files navigation

webext-alert npm version

WebExtension module: alert() for background pages/workers in Web Extensions

  • Browsers: Chrome, Firefox, Safari
  • Manifest: v2 and v3
  • Contexts: background page

Install

You can download the standalone bundle and include it in your manifest.json.

Or use npm:

npm install webext-alert

Usage

import alert from 'webext-alert';

alert('Hello from background script!');
alert from service worker in MV3

API

alert(message)

Uses alert() wherever possible, but falls back to a custom window with the same content.

If the native alert is used, this will block the execution of the background script until the user closes the alert.

If the custom window is used, webextAlert will return a promise that resolves when the user closes the window.

localWebExtAlertHtml(url)

In some cases (Firefox), the message must be loaded via a static HTML page. In this case, webext-alert will load the page from https://webext-alert.vercel.app. If this is undesirable or if you want the extension to work offline in Firefox as well, you can:

  1. copy the html and js files you find in the web folder into your extension
  2. call localWebExtAlertHtml('your/folder/the-local-copied-file.html') at the top of background.js

Known issues

  • If the user is using a full screen window on macOS or they're on mobile, a whole new window will be opened instead of a popup. This is a limitation of the WebExtensions API.

Related

License

MIT © Federico Brigante