make theater mode fill up window
当前为
// ==UserScript==
// @name Youtube Theater Fill Up Window
// @name:zh-TW Youtube Theater Fill Up Window
// @namespace https://gf.qytechs.cn/scripts/454092
// @version 1.0.4
// @description make theater mode fill up window
// @description:zh-TW 讓劇院模式填滿視窗
// @author Derek
// @match *://www.youtube.com/*
// @grant none
// @noframes
// ==/UserScript==
let $ = (element) => document.querySelector(element)
let getScrollbarWidth = () => {
let dummy = document.createElement('div')
$('body').appendChild(dummy)
dummy.style.overflowY = 'scroll'
let clientWidth = dummy.clientWidth
let offsetWidth = dummy.offsetWidth
document.body.removeChild(dummy)
return offsetWidth - clientWidth + 1
}
let css = `
#masthead-container {
display: none !important;
}
ytd-page-manager {
margin: 0 !important;
}
#player-theater-container {
min-height: 100vh !important;
min-width: calc(100vw - ${getScrollbarWidth()}px) !important;
}
`
let theaterMode = () => {
if ($('#player-theater-container>#player-container') && !$('#theater-mode')) {
let theaterStyle = document.createElement('style')
theaterStyle.setAttribute('id', 'theater-mode')
theaterStyle.appendChild(document.createTextNode(css))
$('head').appendChild(theaterStyle)
} else if (!$('#player-theater-container>#player-container') && $('#theater-mode')) $('head').removeChild($('#theater-mode'))
}
let main = () => {
if (window.location.href.includes('/watch?v=')) {
if ($('ytd-watch-flexy').isTheater_()) theaterMode()
let observer = new MutationObserver(theaterMode)
observer.observe($('#player-theater-container'), { childList: true })
} else if ($('#theater-mode')) $('head').removeChild($('#theater-mode'))
}
document.addEventListener('yt-navigate-finish', main)
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址