bilibili 首页刷新可选择上一个

在b站首页刷一刷按钮上添加上一个下一个按钮以此来回到上一个想看的视频

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         bilibili 首页刷新可选择上一个
// @namespace    https://fybgame.top/
// @version      1.01
// @description  在b站首页刷一刷按钮上添加上一个下一个按钮以此来回到上一个想看的视频
// @author       fyb
// @match        https://www.bilibili.com/
// @match        https://www.bilibili.com/?*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {

window.onload = function (){
    let videoArray = []
    let videos = document.getElementsByClassName('feed-card');
    let itemArray = []
    for(let i = 0 ; i < videos.length ; i ++){
        itemArray.push(videos[i].cloneNode(true))
    }
    videoArray.push(itemArray)
    let nowIndex = 0
    let toAppendLast = document.createElement("BUTTON");
    let spanTextLast = document.createElement("span");
    spanTextLast.innerHTML = '上一个';
    toAppendLast.addEventListener("click", function () {
        if(nowIndex != 0){
            nowIndex -- ;
            nowCountText.innerHTML = (nowIndex+1)+'/'+videoArray.length
            for(let i = 0 ; i < videos.length ; i ++){
                videos[i].innerHTML = videoArray[nowIndex][i].innerHTML;
            }
        }

    })
    toAppendLast.className = 'primary-btn roll-btn';
    toAppendLast.style.marginBottom = "8px"
    toAppendLast.appendChild(spanTextLast);

    let toAppendNext = document.createElement("BUTTON");
    let spanTextNext = document.createElement("span");
    spanTextNext.innerHTML = '下一个';
    toAppendNext.addEventListener("click", function () {
        if(nowIndex < videoArray.length -1){
            nowIndex ++ ;
            nowCountText.innerHTML = (nowIndex+1)+'/'+videoArray.length
            for(let i = 0 ; i < videos.length ; i ++){
                videos[i].innerHTML = videoArray[nowIndex][i].innerHTML;
            }
        }

    })
    toAppendNext.className = 'primary-btn roll-btn';
    toAppendNext.style.marginBottom = "8px"
    toAppendNext.appendChild(spanTextNext);



    var nowCount = document.createElement("BUTTON");
    var nowCountText = document.createElement("span");
    nowCountText.innerHTML = '1/1';
    nowCount.className = 'primary-btn roll-btn';
    nowCount.style.marginBottom = "8px"
    nowCount.appendChild(nowCountText);


    let c = document.getElementsByClassName('feed-roll-btn')[0];
    c.children[0].removeChild(c.children[0].children[0]);
    c.children[0].children[0].innerHTML = '刷新下';

    c.children[0].addEventListener("click", function () {

            setTimeout(function (){
                let itemArray = []
                for(let i = 0 ; i < videos.length ; i ++){
                    itemArray.push(videos[i].cloneNode(true))
                }
                videoArray.push(itemArray)
                nowIndex = videoArray.length-1;
                nowCountText.innerHTML = (nowIndex+1)+'/'+videoArray.length
            },500)

    })

    c.insertBefore(toAppendNext,c.children[0])
    c.insertBefore(nowCount,c.children[0])
    c.insertBefore(toAppendLast,c.children[0])

}

})();