您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Always allow full screen for YouTube embedded videos that don't allow it by default
// ==UserScript== // @name Allow full screen for YouTube embedded videos // @description Always allow full screen for YouTube embedded videos that don't allow it by default // @version 1 // @match https://*/* // @exclude *://youtube.com/embed/* // @exclude *://*.youtube.com/embed/* // @namespace https://greasyfork.org/users/4654 // ==/UserScript== /*jshint esversion:6 */ ;(function AddFullScreenToEmbeddedVideos() { "use strict"; let utils = { $$: (selector, _parent = document.body) => _parent.matches(selector) ? [_parent] : [..._parent.querySelectorAll(selector)], // return as a JS Array instead of a NodeList concurrent: (job) => (window.requestIdleCallback || window.requestAnimationFrame || window.setTimeout)(job), isElement: (any) => typeof any === "object" && any.nodeType === Node.ELEMENT_NODE }; let YT_IFRAME_SELECTORS = [ "youtube.com", "youtube-nocookie.com" ] .map((url) => `iframe[src*="${url}/embed/"]:not(allowfullscreen)`) .join(","); let selectVideoIFrames = (parent) => utils.$$(YT_IFRAME_SELECTORS, parent); let addFullScreen = (videoFrame) => { console.debug('adding fullscreen to iframe', videoFrame); videoFrame.allowFullscreen = true; videoFrame.src = videoFrame.src; // to force a reload of the iframe }; let onDomMutation = (mutationList) => mutationList.forEach((mutation) => [...mutation.addedNodes].filter(utils.isElement) .flatMap(selectVideoIFrames) .forEach((iframe) => utils.concurrent(addFullScreen(iframe))) ); let start = () => { selectVideoIFrames().forEach(addFullScreen); var observer = new MutationObserver(onDomMutation); observer.observe(document.body, {subtree: true, childList: true}); } window.addEventListener("load", start); console.debug("Loaded script:", GM.info.script.name); })()