Poki Fullscreen Button (Always On)

Adds a fullscreen button to poki.com when missing, keeps it alive across SPA navigation and fullscreen toggles without heavy DOM observers.

As of 2025-08-20. See the latest version.

Author
jonilul
Ratings
0 0 0
Version
1.3.0
Created
2025-08-20
Updated
2025-08-20
Size
5.66 KB
License
MIT
Applies to

What this script does

Poki sometimes hides or drops the fullscreen control when you exit fullscreen or jump between games (SPA navigation). This script:

  • Adds a native-looking “Fullscreen” button right next to Poki’s “Report a bug” button.
  • Keeps it alive across SPA route changes and fullscreen toggles.
  • Avoids heavy DOM observers. It only watches the tiny control container and uses lightweight URL-change hooks.

Why it’s fast

  • No full-document MutationObserver.
  • Listens for history.pushState / replaceState / popstate to detect game switches.
  • Reacts to fullscreenchange.
  • Tiny 2.5 s safety ping that no-ops when everything is fine.

How it works

  1. Locates the “Report a bug” button by its #reportIcon <use> reference. That’s more stable than random CSS classes.
  2. If Poki hasn’t rendered a fullscreen/minimize button, it injects one with the same structure/classes so it matches the site’s styling.
  3. Observes only the local parent container of the controls. If the site hot-swaps the controls, the button is restored instantly.
  4. If Poki later adds its own fullscreen/minimize control, the script backs off to avoid duplicates.

Features

  • SPA-aware: survives game switches without page reloads.
  • Auto-restore: after exiting fullscreen or UI hot-swaps.
  • Native look: identical markup to Poki’s own button.
  • Zero extra permissions: no network, no storage.

Install & use

  1. Install Tampermonkey (or a compatible userscript manager).
  2. Install this userscript.
  3. Open any game on poki.com. If Poki doesn’t provide a fullscreen button, you’ll see a new one right beside “Report a bug”.

Compatibility

  • Chromium-based browsers and Firefox.
  • Desktop tested. Mobile fullscreen APIs vary and may be restricted by browsers.

Known limitations

  • If Poki radically changes the control bar or removes the #reportIcon reference, detection logic may need an update.
  • The script requests fullscreen on the document element for maximum compatibility. Targeting per-game iframes is intentionally avoided to keep it universal.

Privacy

  • No tracking, no telemetry, no calls to external domains.
  • Runs only on https://poki.com/*.

Changelog

  • 1.3.0 — Release: SPA-aware, local container observer only, native-style button, fallback safety ping.

Credits

  • Built for players who just want a solid fullscreen button that stays put.