Firefox Browser Add-ons
  • Extensions
  • Themes
    • for Firefox
    • Dictionaries & Language Packs
    • Other Browser Sites
    • Add-ons for Android
Log in
Preview of KeepPlaying

KeepPlaying by Shakib Bin Kabir

Keeps videos and ads playing when you switch tabs by neutralizing Page Visibility, focus, and lifecycle events

0 (0 reviews)0 (0 reviews)
1 User1 User
Download Firefox and get the extension
Download file

Extension Metadata

About this extension
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
Developer comments
KeepPlaying focuses on neutralizing tab visibility/focus detection to prevent auto-pause. It does not block or remove ads, alter network requests, or inject remote code.

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.
Rated 0 by 0 reviewers
Log in to rate this extension
There are no ratings yet

Star rating saved

5
0
4
0
3
0
2
0
1
0
No reviews yet
Permissions and data

Required permissions:

  • Access your data for all websites
Learn more
More information
Add-on Links
  • Support site
  • Support Email
Version
3.1.0
Size
22.84 KB
Last updated
17 days ago (Oct 20, 2025)
Related Categories
  • Privacy & Security
  • Photos, Music & Videos
  • Tabs
License
MIT License
Version History
  • See all versions
Add to collection
Report this add-on
Go to Mozilla's homepage

Add-ons

  • About
  • Firefox Add-ons Blog
  • Extension Workshop
  • Developer Hub
  • Developer Policies
  • Community Blog
  • Forum
  • Report a bug
  • Review Guide

Browsers

  • Desktop
  • Mobile
  • Enterprise

Products

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • Privacy
  • Cookies
  • Legal

Except where otherwise noted, content on this site is licensed under the Creative Commons Attribution Share-Alike License v3.0 or any later version.