Back to feed
Dev.to
Dev.to
7/24/2026
The original title is "Shipping a Chrome Extension That Works Across Sites You Do Not Control"

The original title is "Shipping a Chrome Extension That Works Across Sites You Do Not Control"

Original: Shipping a Chrome Extension That Works Across Sites You Do Not Control

Short summary

Shipping a Chrome extension across uncontrolled sites means surviving service worker termination under MV3, content script isolation limits, and unpredictable DOM changes. Key lessons: persist state in chrome.storage not memory, use layered extraction fallbacks (semantic markup first, site-specific selectors last), prefer activeTab over broad permissions, and batch permission changes to avoid full re-reviews.

  • MV3 service workers die after ~30s; all state must go to chrome.storage
  • Layer extraction fallbacks: semantic markup first, site-specific selectors as last resort
  • Use activeTab + optional_host_permissions instead of <all_urls> for faster review and fewer install objections

Generated with AI, which can make mistakes.

Is this a good recommendation for you?

Comments

Failed to load comments. Please try again.

Explore more