Firefox 浏览器附加组件
  • 扩展
  • 主题
    • 适用于 Firefox
    • 字典和语言包
    • 其他浏览器网站
    • 适用于 Android 的附加组件
登录
KeepPlaying 预览

KeepPlaying 作者: Shakib Bin Kabir

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

0(0 条评价)0(0 条评价)
20 个用户20 个用户
下载 Firefox 并安装扩展
下载文件

扩展元数据

关于此扩展
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 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.
评分 0(1 位用户)
登录以评价此扩展
目前尚无评分

已保存星级评分

5
0
4
0
3
0
2
0
1
0
尚无评价
权限与数据

必要权限:

  • 访问您在所有网站的数据
详细了解
更多信息
附加组件链接
  • 用户支持网站
  • 支持邮箱
  • Copy add-on ID
版本
3.1.0
大小
22.84 KB
上次更新
7 个月前 (2025年10月20日)
相关分类
  • 隐私和安全
  • 照片、音乐和视频
  • 标签页
许可证
MIT 许可证
版本历史
  • 查看所有版本
添加到收藏集
举报此附加组件
转至 Mozilla 主页

附加组件

  • 关于
  • Firefox 附加组件博客
  • 扩展工坊
  • 开发者中心
  • 开发者政策
  • 社区博客
  • 论坛
  • 报告缺陷
  • 评价指南

浏览器

  • Desktop
  • Mobile
  • Enterprise

产品

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • 隐私
  • Cookie
  • 法律

除非另有注明,否则本网站上的内容可按知识共享 署名-相同方式共享 3.0 或更新版本使用。