Count Time

Count How much time would you pay

// ==UserScript==
// @name          Count Time
// @description   Count How much time would you pay
// @include       https://www.bilibili.com/video/*
// @version       0.0.1
// @author        sEGuoer
// @namespace https://gf.qytechs.cn/users/1147321
// ==/UserScript==
let control = "start";
let controlInterval
window.addEventListener("keyup",function (e) {
    e.preventDefault();
    if (e.keyCode === 17){
        if (control === "start"){
            f();
            control = "stop"
            console.log("start")
        }else if(control === "stop"){
            clearInterval(controlInterval)
            control = "start"
            console.log("stop")
        }
    }
})


function f(){
    if (!document.querySelector(".video-episode-card__info-duration")) {
        if (!document.querySelector(".router-link-active .clickitem .duration")) {
        } else {
            heji(".router-link-active .duration", ".link-content img", ".bpx-player-ctrl-time-label .bpx-player-ctrl-time-current", "viewbox_report", "#multi_page .head-con .head-left")
        }
    } else {
        heji(".video-episode-card__info-duration", ".video-episode-card__info-title .cur-play-icon", ".bpx-player-ctrl-time-label .bpx-player-ctrl-time-current", "viewbox_report", ".first-line-left .cur-page")
    }
}


function heji(a, b, c, d, e) {
    controlInterval = setInterval(function () {
        hejiMethod(a, b, c, d, e)
    }, 2000)
}

hejiMethod(".video-episode-card__info-title .cur-play-icon", ".video-episode-card__info-title .cur-play-icon", ".bpx-player-ctrl-time-label .bpx-player-ctrl-time-current", "viewbox_report", ".first-line-left .cur-page")

function deleteCurrentTime(arg) {
    let deleteCurrentTime = 0
    if (arg.length === 3) {
        deleteCurrentTime = parseInt(arg[0]) * 3600 + parseInt(arg[1]) * 60 + parseInt(arg[2])
    } else if (arg.length === 2) {
        deleteCurrentTime = parseInt(arg[0]) * 60 + parseInt(arg[1])
    } else if (arg.length === 1) {
        deleteCurrentTime = parseInt(arg[0])
    }
    console.log(deleteCurrentTime)
    return deleteCurrentTime;
}

function addUseTime(String, Timename, addContent) {
    let element = document.createElement("div");
    element.innerText = String;
    element.className = Timename;
    element.style = "margin-right: 8px";
    console.log("div." + Timename)
    if (!document.querySelector("div." + Timename)) {
        addContent.appendChild(element)
    } else {
        document.querySelector("div." + Timename).innerText = String;
    }
}

function hejiMethod(act, bond, cat, dog, email) {
    var allTime = document.querySelectorAll(act)
    let time = 0
    let needtime = 0
    let selectWhichIsLooking = 0
    allTime.forEach(function (element) {
        let timeGroup = element.textContent.split(':')
        if (selectWhichIsLooking === 1) {
            if (timeGroup.length === 3) {
                let elementTime = parseInt(timeGroup[0]) * 3600 + parseInt(timeGroup[1]) * 60 + parseInt(timeGroup[2])
                time = time + elementTime
                needtime = needtime + elementTime

            } else if (timeGroup.length === 2) {
                let elementTime = parseInt(timeGroup[0]) * 60 + parseInt(timeGroup[1])
                time = time + elementTime
                needtime = needtime + elementTime
            } else if (timeGroup.length === 1) {
                let elementTime = parseInt(timeGroup[0])
                time = time + elementTime
                needtime = needtime + elementTime

            }
        } else if (selectWhichIsLooking === 0) {
            var a = element.parentElement.querySelector(bond)
            console.log(a.getAttribute("style"))
            if (a.getAttribute("style") === "display:none;" || a.getAttribute("style") === "display: none;") {
                if (timeGroup.length === 3) {
                    let elementTime = parseInt(timeGroup[0]) * 3600 + parseInt(timeGroup[1]) * 60 + parseInt(timeGroup[2])
                    time = time + elementTime

                } else if (timeGroup.length === 2) {
                    let elementTime = parseInt(timeGroup[0]) * 60 + parseInt(timeGroup[1])

                    time = time + elementTime
                } else if (timeGroup.length === 1) {
                    let elementTime = parseInt(timeGroup[0])
                    time = time + elementTime
                }
            } else {
                var b = document.querySelector(cat)
                let currentTimeGroup = b.textContent.split(':')
                selectWhichIsLooking = 1
                if (timeGroup.length === 3) {
                    let elementTime = parseInt(timeGroup[0]) * 3600 + parseInt(timeGroup[1]) * 60 + parseInt(timeGroup[2])
                    let deleteTime = deleteCurrentTime(currentTimeGroup)
                    time = time + elementTime
                    needtime = needtime + elementTime - deleteTime

                } else if (timeGroup.length === 2) {
                    let elementTime = parseInt(timeGroup[0]) * 60 + parseInt(timeGroup[1])
                    let deleteTime = deleteCurrentTime(currentTimeGroup)
                    time = time + elementTime
                    needtime = needtime + elementTime - deleteTime
                } else if (timeGroup.length === 1) {
                    let elementTime = parseInt(timeGroup[0])
                    let deleteTime = deleteCurrentTime(currentTimeGroup)
                    time = time + elementTime
                    needtime = needtime + elementTime - deleteTime
                }
            }
        }
    })
    console.log(time)
    let hour1 = parseInt(time / 3600)
    console.log(hour1)

    let minute1 = parseInt(time % 3600 / 60)
    console.log(minute1)

    let second1 = time % 3600 % 60
    console.log(second1)
    let addContent1 = document.getElementById(dog)
    addUseTime("看完合集用时" + hour1 + ":" + minute1 + ":" + second1, "sumTimeWillBeUse", addContent1)
    console.log(needtime)
    let hour2 = parseInt(needtime / 3600)
    console.log(hour2)

    let minute2 = parseInt(needtime % 3600 / 60)
    console.log(minute2)

    let second2 = needtime % 3600 % 60
    console.log(second2)
    let addContent2 = document.querySelector(email)
    addUseTime("看完剩余需" + hour2 + ":" + minute2 + ":" + second2, "remainTime", addContent2)
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址