How MV3 Service Workers Made Me Use an Offscreen Document Just to Play a Goat Sound
The plan was easy, in my head Here's what I thought I needed: chrome.alarms to fire at a random interval chrome.notifications to show a "you good?" popup If the user ignores it for 60 seconds, play a goat sound Step 3 is where things fell apart. Because in Manifest V3, your background script isn't a persistent background page anymore — it's a service worker. And service workers have the audio capabilities of a rock.
- ▪The plan was easy, in my head Here's what I thought I needed: chrome.alarms to fire at a random interval chrome.notifications to show a "you good?" popup If the user ignores it for 60 seconds, play a goat sound Step 3 is where things fell a
- ▪Because in Manifest V3, your background script isn't a persistent background page anymore — it's a service worker.
- ▪And service workers have the audio capabilities of a rock.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 1716950) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } M.Bilal Khan Posted on Jul 21 How MV3 Service Workers Made Me Use an Offscreen Document Just to Play a Goat Sound #javascript #showdev #sideprojects #webdev So I built a Chrome extension that does one very stupid thing: it waits a random amount of time, then screams at you like a goat if you don't dismiss the notification fast enough. Simple idea. Should've been a simple build. It was not, because Manifest V3 said no.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).