您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
把Youtube影片旋轉0°、90°、180°、270°,讓你輕鬆觀看影片!
当前为
// ==UserScript== // @name YouTube Rotate 90° // @namespace http://tampermonkey.net/ // @version 1.6 // @description 把Youtube影片旋轉0°、90°、180°、270°,讓你輕鬆觀看影片! // @author zaqwsx2205 // @match https://*.youtube.com/* // @match https://*.youtube.com/watch?v=* // @match https://www.youtube.com/embed/* // @match https://www.youtube-nocookie.com/embed/* // @require https://code.jquery.com/jquery-3.4.1.min.js // @grant none // ==/UserScript== (function() { 'use strict'; var width; var height; var heightTest; var bool = false; var click = 0; var safeTest = location.href; function transform90(){ setTimeout(function(){ width = $(".html5-video-container").outerWidth(); height = $(".html5-video-container").outerHeight(); heightTest = width - height; $(".video-test1").html('<style>.video-stream{width:calc(100% - '+heightTest+'px)!important;}</style>'); }, 20); } function transform(x){ $(".video-test, .video-test1").remove(); switch(x){ case 1: $(".html5-video-container").append('<div class="video-test"></div>'); $(".html5-video-container").append('<div class="video-test1"></div>'); $(".video-test").html('<style>.html5-video-container {display: flex !important; justify-content: center !important; align-items: center !important; height: 100% !important;}.video-stream{position:relative !important; transform:rotate(90deg) !important; height:auto !important; left:0 !important; top:0 !important;}</style>'); transform90(); break; case 2: $(".html5-video-container").append('<div class="video-test"></div>'); $(".html5-video-container").append('<div class="video-test1"></div>'); $(".video-test").html('<style>.html5-video-container {display: flex !important; justify-content: center !important; align-items: center !important; height: 100% !important;}.video-stream{position:relative !important; transform:rotate(180deg) !important; height:auto !important; left:0 !important; top:0 !important;}</style>'); break; case 3: $(".html5-video-container").append('<div class="video-test"></div>'); $(".html5-video-container").append('<div class="video-test1"></div>'); $(".video-test").html('<style>.html5-video-container {display: flex !important; justify-content: center !important; align-items: center !important; height: 100% !important;} .video-stream{position:relative !important; transform:rotate(270deg) !important; height:auto !important; left:0 !important; top:0 !important;}</style>'); transform90(); break; case 4: click = 0; break; } } function build(){ $(".video-test, .video-test1, .video-test2, .transform90").remove(); if($(".ytp-embed").length > 0){ $(".html5-video-container").append('<div class="video-test2"></div>'); $(".video-test2").html('<style>.ytp-autohide .transform90-top{opacity: 0 !important; -moz-transition: opacity .1s cubic-bezier(0.4,0.0,1,1) !important; -webkit-transition: opacity .1s cubic-bezier(0.4,0.0,1,1) !important; transition: opacity .1s cubic-bezier(0.4,0.0,1,1) !important;} .ytp-transform90-icon {margin: auto !important; width: 36px !important; height: 36px !important; position: relative !important;}.ytp-big-mode .ytp-transform90-icon {width: 54px !important; height: 54px !important;} .ytp-transform90-title{font-weight: 500 !important; text-align: center !important; font-size: 14px !important;} .ytp-big-mode .ytp-transform90-title{font-size: 20px !important;}</style>'); $('.ytp-chrome-top-buttons').prepend('<button class="ytp-button transform90 transform90-top" data-tooltip-opaque="true" aria-label="" style="width: auto;height: auto;"><div class="ytp-transform90-icon" style="transform:scaleX(-1);"><svg version="1.1" x="0px" y="0px" viewBox="0 0 453.227 453.227" style="enable-background:new 0 0 453.227 453.227;" xml:space="preserve" width="50%" height="100%" class=""><g><g><g><g><path d="M139.453,120.747L1.107,259.093L139.453,397.44L277.8,259.093L139.453,120.747z M61.373,259.093l77.973-77.973 l78.08,77.973l-77.973,77.973L61.373,259.093z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/><path d="M395.88,125.44C358.333,88,309.267,69.227,260.093,69.227V0l-90.56,90.56l90.56,90.453v-69.12 c38.187,0,76.48,14.613,105.6,43.733c58.347,58.347,58.347,152.853,0,211.2c-29.12,29.12-67.413,43.733-105.6,43.733 c-20.693,0-41.28-4.373-60.48-12.907l-31.787,31.787c28.587,15.787,60.373,23.787,92.267,23.787 c49.173,0,98.24-18.773,135.787-56.213C470.867,322.027,470.867,200.427,395.88,125.44z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/></g></g></g></g> </svg></div><div class="ytp-transform90-title">Video Rotate 90°</div></button>'); }else if($(".ytd-miniplayer #player-container #ytd-player").length > 0){ $(".ytp-miniplayer-scrim").prepend('<button class="transform90 ytp-play-button ytp-button" title="Video Rotate 90°" aria-label="Video Rotate 90°" style="display: inline-flex;justify-content: center; transform:scaleX(-1);"><svg version="1.1" x="0px" y="0px" viewBox="0 0 453.227 453.227" style="enable-background:new 0 0 453.227 453.227;" xml:space="preserve" width="50%" height="100%" class=""><g><g><g><g><path d="M139.453,120.747L1.107,259.093L139.453,397.44L277.8,259.093L139.453,120.747z M61.373,259.093l77.973-77.973 l78.08,77.973l-77.973,77.973L61.373,259.093z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/><path d="M395.88,125.44C358.333,88,309.267,69.227,260.093,69.227V0l-90.56,90.56l90.56,90.453v-69.12 c38.187,0,76.48,14.613,105.6,43.733c58.347,58.347,58.347,152.853,0,211.2c-29.12,29.12-67.413,43.733-105.6,43.733 c-20.693,0-41.28-4.373-60.48-12.907l-31.787,31.787c28.587,15.787,60.373,23.787,92.267,23.787 c49.173,0,98.24-18.773,135.787-56.213C470.867,322.027,470.867,200.427,395.88,125.44z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/></g></g></g></g> </svg></button>'); }else{ $(".ytp-right-controls").prepend('<button class="transform90 ytp-button" title="Video Rotate 90°" aria-label="Video Rotate 90°" style="display: inline-flex;justify-content: center; transform:scaleX(-1);"><svg version="1.1" x="0px" y="0px" viewBox="0 0 453.227 453.227" style="enable-background:new 0 0 453.227 453.227;" xml:space="preserve" width="50%" height="100%" class=""><g><g><g><g><path d="M139.453,120.747L1.107,259.093L139.453,397.44L277.8,259.093L139.453,120.747z M61.373,259.093l77.973-77.973 l78.08,77.973l-77.973,77.973L61.373,259.093z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/><path d="M395.88,125.44C358.333,88,309.267,69.227,260.093,69.227V0l-90.56,90.56l90.56,90.453v-69.12 c38.187,0,76.48,14.613,105.6,43.733c58.347,58.347,58.347,152.853,0,211.2c-29.12,29.12-67.413,43.733-105.6,43.733 c-20.693,0-41.28-4.373-60.48-12.907l-31.787,31.787c28.587,15.787,60.373,23.787,92.267,23.787 c49.173,0,98.24-18.773,135.787-56.213C470.867,322.027,470.867,200.427,395.88,125.44z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#FFFFFF"/></g></g></g></g> </svg></button>'); } $('.transform90').on("click", function() { click++; transform(click); }); } function observeTEST() { var composeBox = $('#player-container video')[0]; var composeObserver = new MutationObserver(function(e) { if(safeTest != location.href){ safeTest = location.href; click = 0; build(); } }); if(!composeBox) { window.setTimeout(observeTEST,500); return; } var config = {characterData: true, childList: true, attributes: true}; composeObserver.observe(composeBox,config); } $(document).ready(function(){ build(); observeTEST(); $(window).resize( function () { transform(click); }); document.addEventListener("fullscreenchange", function( event ) { transform(click); }); $(".ytp-size-button").click(function(){ transform(click); }); }); })();