[TypingTube] random_jump

try to take over the world!

目前為 2021-03-28 提交的版本,檢視 最新版本

// ==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)