Return YouTube Dislike (PC Only)

Desktop-only fork of Return YouTube Dislike. Adds Shorts SPA support, visual like/dislike ratio bar, and a class-based architecture.

作者
koyasi777
今日安裝
0
安裝總數
5
評價
0 0 0
版本
4.1.0
建立日期
2025-08-02
更新日期
2025-08-02
尺寸
16.0 KB
相容性
相容於 Firefox 相容於 Chrome 相容於 Opera 相容於 Safari 相容於 Edge
授權條款
AGPL-3.0-only
腳本執行於

Return YouTube Dislike (PC Only)

🧭 Overview

This is a desktop-focused fork of the original Return YouTube Dislike userscript, rebuilt with a class-based architecture, enhanced UI elements, and greater reliability for Single Page Application (SPA) navigation on YouTube.

Unlike the original script, this version is designed only for PC environments, and adds several modern features to improve usability and maintainability.


✨ Key Features

  • ✅ Supports Shorts SPA navigation — dislikes remain visible after switching videos.
  • ✅ Displays a like/dislike ratio bar under the buttons (desktop only).
  • Hover tooltip shows accurate like/dislike counts.
  • ✅ Fully object-oriented codebase (ES6 class).
  • MutationObserver + timeout-based initialization — more robust than relying on yt-navigate-finish.
  • DOM element caching for performance and efficiency.
  • ✅ Custom CSS styling — avoids breaking due to YouTube class name changes.

🚀 Installation Guide

  1. Install a userscript manager:

  2. Install the userscript:
    👉 Click here to install

  3. Visit YouTube and open any video — the enhanced dislike interface will activate automatically.


🔄 Why This Fork?

The original userscript is great, but this version introduces key improvements:

Feature Original v3.1.5 This Version (v4.0.7)
Architecture Procedural, global variables ES6 class-based, encapsulated state
SPA Navigation (Shorts) Relies on yt-navigate-finish Uses <title> mutation + timeout fallback
Rating Display Text-only Visual ratio bar with hover tooltip
DOM Handling Repeated queries Cached DOM elements
Asynchronous Code fetch().then() async/await with GM.xmlHttpRequest wrapper
CSS Styling Tied to YouTube classes Fully isolated and scoped CSS
State Reliability Tracks previousState manually Checks actual DOM state per event

📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0), in accordance with the upstream repository.

  • License text
  • You are free to use, modify, and distribute under the terms of this license.

🤝 Attribution


📬 Issues / Contributions

Pull requests and issues are welcome!
Please feel free to report bugs, request features, or fork this further.

👉 Open an issue