您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add zoom function to YouTube video player.
当前为
// ==UserScript== // @name Zoom function for YouTube // @name:ja YouTubeで動画をズーム // @description Add zoom function to YouTube video player. // @description:ja YouTubeの動画プレイヤーにズーム機能を追加します。 // @namespace https://twitter.com/sititou70 // @include /https?:\/\/www\.youtube\.com\/watch\?v=.+/ // @require http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js // @version 1.1 // @grant none // ==/UserScript== jQuery.noConflict(); (function($){ //function var video_scaleup = function(select_rect){ var player_aspect_ratio = $("#movie_player").width() / $("#movie_player").height(); var select_aspect_ratio = select_rect.width / select_rect.height; var centering_offset = { x: 0, y: 0 } if(player_aspect_ratio < select_aspect_ratio){ //fit width var scale_up_ratio = $("#movie_player").width() / select_rect.width; centering_offset.y = ($("#movie_player").height() - select_rect.height * scale_up_ratio) / 2; }else{ //fit height var scale_up_ratio = $("#movie_player").height() / select_rect.height; centering_offset.x = ($("#movie_player").width() - select_rect.width * scale_up_ratio) / 2; } $("video").stop().animate({ top: select_rect.y * scale_up_ratio * -1 + centering_offset.y + "px", left: select_rect.x * scale_up_ratio * -1 + centering_offset.x + "px", width: $("video").width() * scale_up_ratio, height: $("video").height() * scale_up_ratio }, 500); now_scale_up = true; } var video_scaledown = function(){ $("video").stop().animate({ top: save_css.top, left: save_css.left, width: save_css.width, height: save_css.height }, 500); now_scale_up = false; } //set event handler var now_scale_up = false; var mousedown_offset = null; var save_css = null; $("video").mousedown(function(e){ mousedown_offset = {offsetX: e.offsetX, offsetY: e.offsetY}; if(!now_scale_up){ save_css = { top: $("video").css("top"), left: $("video").css("left"), width: $("video").css("width"), height: $("video").css("height") } } }); $("video").mouseup(function(e){ var select_rect = { width: Math.abs(e.offsetX - mousedown_offset.offsetX), height: Math.abs(e.offsetY - mousedown_offset.offsetY), x: Math.min(mousedown_offset.offsetX, e.offsetX), y: Math.min(mousedown_offset.offsetY, e.offsetY) } if(select_rect.width <= 10 || select_rect.height <= 10){ video_scaledown(); }else{ video_scaleup(select_rect); } }); $(document).keydown(function(key){ if(key.keyCode == 82){ video_scaledown(); } }); })(jQuery);