KeepPlaying EN
Shakib Bin Kabir · Firefox
Keeps videos and ads playing when you switch tabs by neutralizing Page Visibility, focus, and lifecycle events
<all_urls>),意味着它可以读取你在任意站点的页面内容,包括已登录的页面。这是许多扩展正常工作的必要条件,但也值得你确认来源可信。
简介
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
KeepPlaying 是做什么的
KeepPlaying 是一款面向 Firefox 的隐私与安全类扩展,主要用来拦截追踪器、屏蔽广告、管理 Cookie、加固浏览器指纹。官方对它的介绍是:Keeps videos and ads playing when you switch tabs by neutralizing Page Visibility, focus, and lifecycle events在Firefox 附加组件商店(AMO)上,它当前版本 3.1.0,约 48 名用户。
适合什么人用
从功能定位看,KeepPlaying 更适合在意上网被跟踪、希望减少广告干扰的用户。如果你平时只是偶尔遇到相关需求,用浏览器自带功能也能凑合;但如果这件事每天都发生,装一个专门处理它的扩展通常比手动操作省事得多。需要注意的是它作用于所有网站,装上后建议先观察一两天,确认不影响常用站点的正常使用。
怎么安装 KeepPlaying
- 打开Firefox 附加组件商店(AMO)上的官方页面;
- 点「添加到浏览器」并确认权限提示;
- 装好后在扩展列表里固定图标,方便随时开关。
本站只做索引与介绍,安装包来自官方商店。如果商店页面提示当前地区不可用,说明该扩展未在你所在区域上架。
常见问题
KeepPlaying 是免费的吗?
KeepPlaying 在Firefox 附加组件商店(AMO)免费提供下载。它是浏览器扩展,装上就能直接用,不需要注册账号。
KeepPlaying 安全吗?
它只申请了 0 项权限,范围比较克制,没有申请「读取所有网站数据」这种大权限。
KeepPlaying 支持哪些浏览器?
当前收录的版本来自Firefox 附加组件商店(AMO),适用于 Firefox。同一个扩展在其他商店可能有对应版本,但功能与版本号不一定相同。
怎么卸载 KeepPlaying?
在扩展管理页找到 KeepPlaying,点移除即可。它在本地保存的设置会一起清掉,不会残留数据。
权限清单 来自 manifest.json 原文
站点访问 1
*://*/*