ニコニコ動画が停止して暫定バージョンをリリースしたので、暫定バージョンで遊んでみる

※追記 6/19

## ニコニコ動画が落ちて1週間が近い
ニコニコに何か起こると いろいろやりたくなるのが「ニコ厨」の本能なので、
暫定サイトの動画ページに「ホームリダイレクト」機能を追加してみた。

動画が終わるとホームへ自動的に遷移する。

radioボタンでオンオフ切り替え可能、時間をかけるのが嫌だったのでスタイルシートは適当です。

更新(6/19) : リダイレクト機能を洗練化。
戻る機能で移動した場合に移動してしまわないように設定した。また動画経過時間を%表示する無駄機能を追加した。

:::note warn
注意
すごい勢いでページに機能が追加され続けてるので、スクリプトを試すのはお勧めしません。
:::

:::note alert

**※ 早いこと復旧してください ※**
:::

```javascript 動画が終わったらホームにリダイレクトする.js

// ==UserScript==
// @name         ニコニコ : 動画が終わったらホームにリダイレクトする
// @namespace    http://tampermonkey.net/
// @version      2024-06-14
// @description  try to take over the world!
// @author       You
// @match        https://www.nicovideo.jp/watch_tmp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=nicovideo.jp
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    console.log("start")
    var video =document.querySelector("video")
    var lock = false
    var ra_end = false
    function redirect_switch(){
        var div = document.createElement("div")
        div.style = "background-color:black !important;color : yellow !important; line-height:1.2; vertical-align: middle; height: 48px; display:flex; place-content: space-between flex-start; align-items: center; text-indent:1em;"
        var span = document.createElement("span")
        span.innerText = "スイッチオンでリダイレクトします"
        var span2 = document.createElement("span")
        span2.innerText = "経過時間 : 0%"
        span2.style = "margin-left : 1em;"
        span2.id = "redirect_time"
        var inp = document.createElement("input");
        inp.type = "range";
        inp.min = 0;
        inp.max = 1;
        inp.id = "redirect_switch"
        inp.style = "width: 40px; line-height: 1; margin-left: 10px; vertical-align: sub;"
        var target = document.querySelectorAll("main > div > div")[1]
        div.appendChild(span)
        div.appendChild(inp)
        div.appendChild(span2)
        target.after(div)
    }
    function check(){
        video = document.querySelector("video")
        if(video == null){requestAnimationFrame(check)}
        else{
            if(document.querySelector("#redirect_switch") == null){
                redirect_switch()
            }
            else{
                var t = [video.duration, video.currentTime]
                var rt = document.querySelector("#redirect_time")
                var jump = document.querySelector("#redirect_switch").value == 1
                if(t[0]==t[1] && lock == false){
                    if(jump == true　&& ra_end == false){
                        video.pause()
                        window.location.href = "http://www.nicovideo.jp/"
                        ra_end = true
                        rt.innerText = "[Redirect Start]"
                    }
                    else{
                        lock = true
                    }
                }
                else if(t[0]>t[1]){
                    var num = "[None Redirect]"
                    if(jump)num = "経過時間 : " + String( parseInt(t[1] / t[0] * 100)) + "%"
                    if(rt.innerText != num)rt.innerText = num
                    lock = false
                    ra_end = false
                }
            }
            requestAnimationFrame(check)
            }
        }
    requestAnimationFrame(check)
    // Your code here...
})();
```