您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
当前为
// ==UserScript== // @name [TypingTube] random_jump // @namespace http://tampermonkey.net/ // @version 0.4 // @description try to take over the world! // @author You // @match https://typing-tube.net/* // @exclude https://typing-tube.net/movie* // @icon https://www.google.com/s2/favicons?domain=typing-tube.net // @grant none // ==/UserScript== let tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); document.querySelector("[href*='lv=5']").parentNode.insertAdjacentHTML('afterend', `<div style="cursor:pointer;" id="random_selector" class="btn m-2 col lvall">ランダム </div><span id=player_box style="position:absolute;visibility:hidden;"></span>`) let ramdom = 0 let player_clone function romdom_generator(){ document.getElementById("random_selector").removeEventListener("click",romdom_generator) document.getElementById("random_selector").style.cursor = "none" ramdom = Math.floor(Math.random() * (36881 - 5 + 1) + 5) $.ajax({ type: 'POST', url: '/movie/lyrics/' + ramdom, success:function(data){ console.log(data) if(data.match(/(v=).*\n/) != null){ onYouTubeIframeAPIReady_random(data.match(/(v=).*\n/)[0].slice(2)) }else{ Lost ++ document.getElementById("random_selector").textContent = "ランダム(ハズレ"+Lost+"回目)" document.getElementById("player_box").remove() document.getElementById("random_selector").insertAdjacentHTML('afterend', `<span id=player_box style="position:absolute;visibility:hidden;"></span>`) document.getElementById("random_selector").style.cursor = "pointer" document.getElementById("random_selector").addEventListener("click",romdom_generator) } },error: function(data) { Lost ++ document.getElementById("random_selector").textContent = "ランダム(ハズレ"+Lost+"回目)" document.getElementById("player_box").remove() document.getElementById("random_selector").insertAdjacentHTML('afterend', `<span id=player_box style="position:absolute;visibility:hidden;"></span>`) document.getElementById("random_selector").style.cursor = "pointer" document.getElementById("random_selector").addEventListener("click",romdom_generator) } }); } let player_ramdom function onYouTubeIframeAPIReady_random(preview_videoid) { console.log(preview_videoid) player_ramdom = "" player_ramdom = new YT.Player('player_box', { height: 100 , width: 100 , playerVars: { autoplay: 0, controls: 0, disablekb: 1, modestbranding:1, origin: location.protocol + '//' + location.hostname + "/", start: 0 }, videoId: preview_videoid, events: { 'onReady': onPlayerReady_check, 'onError': onPlayerReady_check, } }); } let Lost = 0 function onPlayerReady_check(){ if(player_ramdom.getDuration() != 0){ window.open('https://typing-tube.net/movie/show/'+ramdom); }else{ Lost ++ document.getElementById("random_selector").textContent = "ランダム(ハズレ"+Lost+"回目)" } document.getElementById("player_box").remove() document.getElementById("random_selector").insertAdjacentHTML('afterend', `<span id=player_box style="position:absolute;visibility:hidden;"></span>`) document.getElementById("random_selector").style.cursor = "pointer" document.getElementById("random_selector").addEventListener("click",romdom_generator) } document.getElementById("random_selector").addEventListener("click",romdom_generator)