YouTube Disable Ambient Mode

Disables YouTube ambient mode if its turned on.

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

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

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

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

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

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        YouTube Disable Ambient Mode
// @namespace   natehak.com
// @match       *://*.youtube.com/*
// @exclude     *://*.youtube.com/embed/*
// @grant       none
// @version     1.0.1
// @license     GPLv3
// @author      @natehak
// @description Disables YouTube ambient mode if its turned on.
// ==/UserScript==

let id = setInterval(() => {
  document.querySelector('.ytp-settings-button').click();
  let ambientModeItem = document.querySelector('#ytp-id-18 .ytp-menuitem[tabindex="0"]');
  let itemIsAmbientMode = ambientModeItem !== null
    ? ambientModeItem.querySelector('.ytp-menuitem-label').innerText === 'Ambient mode'
    : false;
  let ambientModeEnabled = ambientModeItem !== null
    ? ambientModeItem.getAttribute('aria-checked') === 'true'
    : false;

  if (itemIsAmbientMode) {
    clearInterval(id);
    if (ambientModeEnabled) {
      ambientModeItem.click();
      console.info('YouTube Ambient Mode: Disabled');
    }
  }
  document.querySelector('.ytp-settings-button').click();
}, 2500);