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๊ฐœ)
์‚ฌ์šฉ์ž 7๋ช…์‚ฌ์šฉ์ž 7๋ช…
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๋ช…์ด 0์ ์œผ๋กœ ํ‰๊ฐ€ํ•จ
๋กœ๊ทธ์ธํ•˜์—ฌ ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์˜ ํ‰์ ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”
์•„์ง ํ‰์ ์ด ์—†์Šต๋‹ˆ๋‹ค

๋ณ„์  ์ €์žฅ๋จ

5
0
4
0
3
0
2
0
1
0
์•„์ง ๋ฆฌ๋ทฐ ์—†์Œ
๊ถŒํ•œ ๋ฐ ๋ฐ์ดํ„ฐ

ํ•„์ˆ˜ ๊ถŒํ•œ:

  • ๋ชจ๋“  ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ
๋” ์•Œ์•„๋ณด๊ธฐ
์ถ”๊ฐ€ ์ •๋ณด
๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋งํฌ
  • ์ง€์› ์‚ฌ์ดํŠธ
  • ์ง€์› ์ด๋ฉ”์ผ
๋ฒ„์ „
3.1.0
ํฌ๊ธฐ
22.84 KB
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ
4๋‹ฌ ์ „ (2025๋…„ 10์›” 20์ผ)
๊ด€๋ จ ์นดํ…Œ๊ณ ๋ฆฌ
  • ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ณด์•ˆ
  • ์‚ฌ์ง„ ๋ฐ ๋™์˜์ƒ
  • ํƒญ
๋ผ์ด์„ ์Šค
MIT ๋ผ์ด์„ ์Šค
๋ฒ„์ „ ๋ชฉ๋ก
  • ๋ชจ๋“  ๋ฒ„์ „ ๋ณด๊ธฐ
๋ชจ์Œ์ง‘์— ์ถ”๊ฐ€
์ด ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ์‹ ๊ณ 
Mozilla ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™

๋ถ€๊ฐ€ ๊ธฐ๋Šฅ

  • ์†Œ๊ฐœ
  • Firefox ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋ธ”๋กœ๊ทธ
  • ํ™•์žฅ ๊ธฐ๋Šฅ ์›Œํฌ์ƒต
  • ๊ฐœ๋ฐœ์ž ํ—ˆ๋ธŒ
  • ๊ฐœ๋ฐœ์ž ์ •์ฑ…
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ธ”๋กœ๊ทธ
  • ํฌ๋Ÿผ
  • ๋ฒ„๊ทธ ์‹ ๊ณ 
  • ๋ฆฌ๋ทฐ ์ง€์นจ

๋ธŒ๋ผ์šฐ์ €

  • Desktop
  • Mobile
  • Enterprise

์ œํ’ˆ

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • ๊ฐœ์ธ ์ •๋ณด
  • ์ฟ ํ‚ค
  • ๋ฒ•๋ฅ 

ํŠน๋ณ„ํ•œ ๊ณ ์ง€๊ฐ€ ์—†๋Š” ํ•œ, ๋ณธ ์‚ฌ์ดํŠธ์˜ ์ฝ˜ํ…์ธ ๋Š” Commons Attribution Share-Alike License v3.0 ๋˜๋Š” ๊ทธ ์ดํ›„ ๋ฒ„์ „์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ด ํ—ˆ๊ฐ€๋ฉ๋‹ˆ๋‹ค.