Disable YouTube Autoplay

禁用 YouTube 页面的自动播放,包括广告跳过后的情况,并在页面加载后的3秒内停止自动暂停操作

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Disable YouTube Autoplay
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  禁用 YouTube 页面的自动播放,包括广告跳过后的情况,并在页面加载后的3秒内停止自动暂停操作
// @author       GPT-4o(Berry Blue Prompted)
// @license      MIT
// @match        *://www.youtube.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 暂停视频播放的函数
    function pauseVideo() {
        var video = document.querySelector('video');
        if (video && !video.paused) {
            video.pause();
        }
    }

    // 等待页面加载完成
    window.addEventListener('load', function() {
        // 初次暂停视频播放
        pauseVideo();

        // 观察视频元素的变化,确保视频不会自动播放
        var observer = new MutationObserver(function(mutations) {
            mutations.forEach(function(mutation) {
                if (mutation.type === 'attributes' && mutation.attributeName === 'src') {
                    pauseVideo();
                }
            });
        });

        // 开始观察
        var video = document.querySelector('video');
        if (video) {
            observer.observe(video, {
                attributes: true
            });
        }

        // 定时检查视频状态
        var intervalId = setInterval(pauseVideo, 100);

        // 在3秒后停止定时检查
        setTimeout(function() {
            clearInterval(intervalId);
        }, 3000);
    });

})();