YouTube Exit Fullscreen on Video End

Exit YouTube fullscreen when a video finishes playing (disabled for playlists)

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         YouTube Exit Fullscreen on Video End
// @namespace    https://www.youtube.com/
// @version      1.1
// @description  Exit YouTube fullscreen when a video finishes playing (disabled for playlists)
// @author       xdpirate
// @match        *://www.youtube.com/*
// @license      GPL v2.0
// @icon         https://www.google.com/s2/favicons?domain=youtube.com
// @grant        none
// ==/UserScript==

function ytNavigated() {
    if(location.href.includes("/watch") && !location.href.includes("list=")) {
        let videoPlayer = document.getElementById('movie_player');
        if(videoPlayer) {
            let observer = new MutationObserver(function(event) {
                if(videoPlayer.classList.contains("ended-mode")) {
                    if(document.fullscreenElement) {
                        document.exitFullscreen();
                    }
                }
            });
        
            observer.observe(videoPlayer, {
                attributes: true,
                attributeFilter: ['class'],
                childList: false,
                characterData: false
            });
        }
    }
}

(document.body || document.documentElement).addEventListener('yt-navigate-finish', function(event) {
        ytNavigated();
}, true);

ytNavigated();