KeepPlaying από Shakib Bin Kabir
Keeps videos and ads playing when you switch tabs by neutralizing Page Visibility, focus, and lifecycle events
1 χρήστης1 χρήστης
Μεταδεδομένα επέκτασης
Σχετικά με την επέκταση
KeepPlaying keeps videos, ads, and other media playing when you switch tabs. Many sites and ad players pause automatically when they detect the tab is hidden or unfocused. KeepPlaying neutralizes those signals so playback continues uninterrupted.
What it does
- Prevents auto-pause when switching tabs on sites like YouTube and players embedded in iframes (e.g., Google Ads SafeFrame)
- Blocks visibility, focus, and certain lifecycle events used to detect tab changes
- Works automatically on all websites at document start
- No permissions required
Key features
- Page Visibility API blocking (visibilitychange, hidden, visibilityState)
- Focus signal blocking (blur, focus, focusin, focusout)
- Lifecycle event blocking (unload, beforeunload, pagehide) to avoid “permissions policy violation” errors
- Deprecated Mutation Events blocking to eliminate console noise on modern sites
- Injects into all frames, including SafeFrames used by Google Ads
How it works (technical)
- Intercepts EventTarget.addEventListener for a curated list of events across visibility, focus, lifecycle, and deprecated mutation categories
- Overrides document.visibilityState/document.hidden (and webkit-prefixed variants) to simulate an always-visible tab
- Overrides document.hasFocus() to always return true
- Runs at document_start; all_frames enabled for iframe/SafeFrame coverage
- No background scripts, no remote code, no data collection
Compatibility
- Firefox (WebExtensions)
- Works on all websites, including iframe-based ad players
Privacy & permissions
- No data collection, telemetry, or analytics
- No permissions requested
Known limitations
- Sites that rely on unload/beforeunload prompts (e.g., “You have unsaved changes”) will not show those prompts while the extension is active.
Changelog highlights (v3.1.0 — 2025-10-20)
- CRITICAL: all_frames enabled to cover iframes/SafeFrames (fixes Google Ads pausing on tab switch)
- CRITICAL: resolves “Permissions policy violation: unload is not allowed in this document”
- Adds blocking for blur/focus events; overrides document.hasFocus()
- Blocks unload, beforeunload, pagehide; clearer event categorization; now blocks 15 event types total
Links
- Source code: https://github.com/shakibbinkabir/keepplaying
- Changelog: https://github.com/shakibbinkabir/keepplaying/blob/main/CHANGELOG.md
What it does
- Prevents auto-pause when switching tabs on sites like YouTube and players embedded in iframes (e.g., Google Ads SafeFrame)
- Blocks visibility, focus, and certain lifecycle events used to detect tab changes
- Works automatically on all websites at document start
- No permissions required
Key features
- Page Visibility API blocking (visibilitychange, hidden, visibilityState)
- Focus signal blocking (blur, focus, focusin, focusout)
- Lifecycle event blocking (unload, beforeunload, pagehide) to avoid “permissions policy violation” errors
- Deprecated Mutation Events blocking to eliminate console noise on modern sites
- Injects into all frames, including SafeFrames used by Google Ads
How it works (technical)
- Intercepts EventTarget.addEventListener for a curated list of events across visibility, focus, lifecycle, and deprecated mutation categories
- Overrides document.visibilityState/document.hidden (and webkit-prefixed variants) to simulate an always-visible tab
- Overrides document.hasFocus() to always return true
- Runs at document_start; all_frames enabled for iframe/SafeFrame coverage
- No background scripts, no remote code, no data collection
Compatibility
- Firefox (WebExtensions)
- Works on all websites, including iframe-based ad players
Privacy & permissions
- No data collection, telemetry, or analytics
- No permissions requested
Known limitations
- Sites that rely on unload/beforeunload prompts (e.g., “You have unsaved changes”) will not show those prompts while the extension is active.
Changelog highlights (v3.1.0 — 2025-10-20)
- CRITICAL: all_frames enabled to cover iframes/SafeFrames (fixes Google Ads pausing on tab switch)
- CRITICAL: resolves “Permissions policy violation: unload is not allowed in this document”
- Adds blocking for blur/focus events; overrides document.hasFocus()
- Blocks unload, beforeunload, pagehide; clearer event categorization; now blocks 15 event types total
Links
- Source code: https://github.com/shakibbinkabir/keepplaying
- Changelog: https://github.com/shakibbinkabir/keepplaying/blob/main/CHANGELOG.md
Βαθμολογήθηκε με 0 από 0 αξιολογητές
Δικαιώματα και δεδομένα
Περισσότερες πληροφορίες
- Σύνδεσμοι προσθέτου
- Έκδοση
- 3.1.0
- Μέγεθος
- 22,84 KB
- Τελευταία ενημέρωση
- 22 μέρες πριν (20 Οκτ 2025)
- Σχετικές κατηγορίες
- Άδεια
- Άδεια MIT
- Ιστορικό εκδόσεων
- Προσθήκη σε συλλογή
Note: Because unload/beforeunload/pagehide are blocked, some sites may not show “unsaved changes” prompts while the extension is active. If you rely on those prompts, temporarily disable the extension.
No permissions, no data collection, no telemetry. Issues and feedback are welcome on GitHub.