YouTube Helper API

YouTube Helper API.

יש גרסאות של סקריפט זה עם קוד מעודכן. הצג את כל הגרסאות

  • v0.5.7 01-10-2025
    New
    • Refactored storageApi to use a declarative lookup table, making it more readable and easier to extend.
    • Converted dynamic DOM element properties on the page object to use getters, ensuring references are always current on a Single Page Application.
    • Consolidated reloadVideo functions to remove duplicated code and follow the DRY principle.
    • Adopted underscore (_) prefix as a naming convention for internal functions to clearly separate them from the public API.
    • Added a console warning if a non-existent YouTube function was called through the API proxy instead of failing silently.
    Fixes
    • Fixed a bug that caused duplicate timeupdate event listeners to be added repeatedly by tracking listener attachment in a WeakMap.
    • Corrected storage functions to consistently use the storageApi abstraction instead of calling GM functions directly.
  • v0.5.6 01-10-2025

    Added a fuction to reload the current video.

  • v0.5.5 01-10-2025

    Added distinction between content that is live or was live (VOD), and content that is currently live exclusively.

  • v0.5.4 29-09-2025

    Added a private event target so we don't fire event into the document directly. Global event handshake may eventually be added.

  • v0.5.3 29-09-2025

    Use a singleton pattern for initiation to avoid duplicate events firing.

  • v0.5.2 29-09-2025

    Fixed tracked playback progress not updating when loading a new video.

  • v0.5.1 29-09-2025

    Updated all public storage functions to eager sync between script storage and local storage.
    Updated page type updating to listen for different events. Should now update earlier and more consistently.
    Fix time specified video detection. YouTube player response object turns out to be unreliable for this.

  • v0.5.0 29-09-2025

    No longer exposing storageApi.
    Added public delete and list functions for synced storage.

  • v0.4.8 29-09-2025

    Added support for time specified video detection.
    Added support for playlist id detection.
    Exposed storagedApi to publicApi.

  • v0.4.7 29-09-2025

    Fixed ad detection and tracking.

  • v0.4.6 29-09-2025

    Updated player selector for mobile.

  • v0.4.5 28-09-2025

    Updated how premium bitrate options are determined.

  • v0.4.4 27-09-2025

    minor update. no functional change.

  • v0.4.3 27-09-2025

    Updated saving and loading logic to try to use both GM and localStorage in parallel.

  • v0.4.2 27-09-2025

    Let consumer scripts to grant handling.

  • v0.4.1 27-09-2025

    minor bug fix.

  • v0.4.0 27-09-2025

    Testing if GM functions can be extracted to a helper api.

  • v0.3.0 22-09-2025

    Implemented a custom video playback progress tracking function that avoids tracking ad playback progresses.
    Implemented a custom ad state tracking function.
    Implemented a custom function to reload the current playing video to the current tracked playback progress. Removed inline comments. Code is just updating too much to maintain comments at this point.

  • v0.2.1 21-09-2025

    -

  • v0.2.0 21-09-2025

    Added inline documentations.
    Added save/load functions for settings.

  • v0.1.2 21-09-2025

    Delay initial player update check with the pageshow event listener.

  • v0.1.1 21-09-2025
  • v0.1.0 21-09-2025

    Added a proxy for YouTube's API

  • v0.0.9 20-09-2025

    -

  • v0.0.9 20-09-2025

    Changed page type finding logic. Could be reverted.

  • v0.0.8.3 20-09-2025
  • v0.0.8.3 20-09-2025

    test loading order.

  • v0.0.8.1 20-09-2025
  • v0.0.8 20-09-2025

    Bug Fixes

  • v0.0.7 20-09-2025

    Pass entire api with event.

  • v0.0.6.2 20-09-2025

    Update custom event name for consistency.

  • v0.0.6.1 20-09-2025

    Just use shallow copy. Deep freeze needs more logic to work properly and I have decided to hold off until absolutely needed.

  • v0.0.6 20-09-2025

    Updated getter logic in the public API section.

  • v0.0.5.2 20-09-2025

    fix bug

  • v0.0.5.1 20-09-2025
  • v0.0.5 20-09-2025
  • v0.0.3 18-09-2025

    Added playback resolution control functions.

  • v0.0.2 18-09-2025

    Added a bunch for stuff.

  • v0.0.1 17-09-2025