Greasy Fork

Greasy Fork is available in English.

优酷全屏模式

YouTube画面自动转换成100高、100宽的画面。

目前为 2022-05-23 提交的版本。查看 最新版本

// ==UserScript==
// @name:ko           유튜브 풀스크린
// @name              Youtube Fullscreen Mode
// @name:ru           Youtube Полный режим
// @name:jp           Youtubeフルスクリーンモードの
// @name:zh-CN        优酷全屏模式
// @name:zh-TW        優酷全屏模式

// @description:ko    유튜브 화면을 자동으로 꽉 찬 화면으로 바꿉니다.
// @description       Automatically switch YouTube screens to 100 height and 100 width screens.
// @description:ru    Автоматическое переключение экрана на YouTube на экран высотой 100 и шириной 100.
// @description:jp    ユーチューブ画面を高さ100、広さ100画面に自動転換。
// @description:zh-CN YouTube画面自动转换成100高、100宽的画面。
// @description:zh-TW YouTube畫面自動轉換成100高、100寬的畫面。

// @namespace         https://ndaesik.tistory.com/
// @version           2022.05.24.08.28
// @author            ndaesik
// @icon              https://lh3.googleusercontent.com/iLZyxGK7l1343U4E7eAfgKbRWW6qhzCJq-Z92M60JzCMntFyaFF2GUQVRxPhfGcy6qRISLjHv4fX1vtq0TZkZMAzBjM
// @match             *://*.youtube.com/*
// ==/UserScript==
let DEF = document.createElement(`style`)
  , TOG = document.createElement(`style`)
DEF.innerText = `
#chips-wrapper.ytd-feed-filter-chip-bar-renderer {top:56px}
[dark] .gstl_50.sbdd_a * {background-color:#232323!important; border-color:#282828!important}
[dark] .gsfs,[dark] .sbpqs_a{color:#FFF!important}
[dark] .sbqs_c:before {filter: invert(1)!important}
ytd-app:not([guide-persistent-and-visible]) [theater] #player.ytd-watch {height: 100vh!important; max-height: 100vh!important}
:is(ytd-watch-flexy[theater],ytd-watch-flexy[fullscreen]) #player-theater-container.ytd-watch-flexy,
ytd-app:not([guide-persistent-and-visible]) [theater] #player video {
width: 100%!important; height: 100vh!important; max-height: 100vh!important; max-width: 100%!important; left: 0!important}`
document.head.appendChild(DEF)
TOG.innerText = `
ytd-app:not([guide-persistent-and-visible]) :is(#masthead-container ytd-masthead, #masthead-container.ytd-app::after) {transform: translateY(-56px); transition: transform .1s .3s ease-out}
ytd-app:not([guide-persistent-and-visible]) :is(#masthead-container:hover ytd-masthead, #masthead-container:hover.ytd-app::after, #masthead-container:focus-within ytd-masthead) {transform: translateY(0px)}
ytd-app:not([guide-persistent-and-visible]) ytd-page-manager {margin-top: 0!important}`
TOG.className = "TOGstyle"

let vidWid = () => {return document.querySelector(`#ytd-player`)?.offsetWidth + 50}
  , winWid = () => {return window.innerWidth}
`yt-navigate-finish load`.split(` `).forEach((e) => {
    window.addEventListener(e, () => {
        document.head.appendChild(TOG)
        let full = setInterval(() => {(50 < vidWid() && vidWid() < winWid()) ? document.querySelectorAll(`.ytp-size-button`)?.forEach(e=>e.click()) : clearInterval(full)},100)
        setTimeout(() => {if (document.querySelector(`ytd-watch-flexy`) == null) document.querySelector(`.TOGstyle`)?.remove()}, 100)
        setTimeout(() => {clearInterval(full)}, 10000)
        window.scrollTo(0, 0)
    })
})
window.addEventListener(`mouseup`, () => {
  setTimeout(() => {
      (vidWid() < winWid() || document.URL.indexOf(`watch`) == -1) ?
      document.querySelector(`.TOGstyle`)?.remove() : document.head.appendChild(TOG)
  }, 100)
})