Bring editor-style history to every online video. Jump back to where you were. Jump forward again. Never lose your place.
Try the functionality instantly in your browser here:
Seek around, then use Ctrl+Z / Ctrl+Y to experience undo / redo without installing the extension.
Click the image to open the zero‑install live demo.
- Start watching any video on a site.
- Jump far ahead (click timeline / use chapter links / drag scrubber).
- Press Ctrl+Z → You’re back exactly where you were.
- Press Ctrl+Y → Forward jump restored.
- Repeat. Explore without fear of “where was I?”
Chromium (Chrome / Edge / Brave):
- Open
chrome://extensions/ - Enable Developer Mode.
- Load Unpacked → select the
extensionfolder. - Open a video site (YouTube, Vimeo, news, courses, etc.) and try seeking.
Firefox (temporary):
- Open
about:debugging#/runtime/this-firefox - Click “Load Temporary Add-on”
- Pick
extension/manifest.json - Test on any page with a
<video>element.
Page loads → content.js marks install → observes DOM & shadow DOM
→ First playing <video> becomes activeVideo
→ 500ms interval watches currentTime
→ If |delta| > threshold (5s) ⇒ push {from,to} onto undoStack
→ Ctrl+Z pops undo → seek(from) & pushes onto redoStack
→ Ctrl+Y pops redo → seek(to) & pushes onto undoStack
- Interval polling (500ms) balances cost & responsiveness.
- Shadow DOM recursion only triggered if normal query finds zero videos (performance sensitive).
- No tracking, analytics, network calls, or storage persistence.
- No permissions beyond default content script execution.
- All logic in-page; nothing exfiltrated.
Currently hard‑coded (edit & rebuild if you fork):
THRESHOLD seconds: 5
MAX STACK: 200
INTERVAL: 500ms
Adjust in extension/content.js (search for diff > 5 and 200).
Mostly – any site that exposes a standard HTML5 <video> element (including most players YouTube, Vimeo embeds, news sites, course platforms, social video, etc.).
If you find a site that doesn't work: please open an issue and include:
- Page URL
- Browser Name
Known constraints / edge cases:
-
Closed shadow roots (cannot traverse by spec) – extension only scans open ones.
-
Chromium native controls quirk: when your cursor is hovering the built‑in browser video progress bar, page key combos (Ctrl+Z / Ctrl+Y) may not fire. Move focus/hover off the bar (click elsewhere) and shortcuts work. Most modern sites ship their own custom styled controls so this usually isn’t an issue.
Still: for the vast majority of ordinary HTML5 video experiences it should “just work”. Report exceptions so they can be classified or supported.
PRs welcome.
Want to help?
Safari? If you have an Apple (Safari) developer account and like this idea:
- Fork the repo.
- In Xcode: File → New → Project → Safari Web Extension.
- Drop the
extension/files into the generated extension target. - Adjust
manifest.json(icons / id) if needed. - Build, test, and submit. Please link back here so others can find it.
See LICENSE.
Video.js (https://videojs.com/) – for the demo player foundation.