LoginSignup
0
0

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

Last updated at Posted at 2024-06-14

※追記 6/19

ニコニコ動画が落ちて1週間が近い

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

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

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

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

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

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

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...
})();
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0