YouTube Exit Fullscreen on Video End

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

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 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();