Greasy Fork is available in English.

BTNULL 电影评分筛选器手动输入筛选分值,包含没有评分

BTNULL 评分筛选功能

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         BTNULL 电影评分筛选器手动输入筛选分值,包含没有评分
// @namespace    http://tampermonkey.net/
// @version      0.85
// @description  BTNULL 评分筛选功能
// @author       silvo27
// @match        https://www.btnull.net/*/*
// @match        https://www.btnull.org/*/*
// @match        https://www.btnull.si/*/*
// @match        https://www.btnull.to/*/*
// @match        https://www.btnull.nu/*/*
// @match        https://www.btnull.in/*/*
// @match        https://www.btnull.fun/*/*
// @license      GPLv3
// @grant        window.onurlchange
// @grant        GM_xmlhttpRequest
// ==/UserScript==

function hideLowScore(scoreFilter, isShowNA = 0) {
    let films = document.getElementsByClassName("content-list")[0].getElementsByTagName('li')
    for (let i of films) {
        let score = i.getElementsByTagName('h3')[0].getElementsByTagName('span')[0].innerText
        if (isShowNA) {
            if (score === 'N/A') {
                i.style.display = 'none'
            }
        }
        if (score <= scoreFilter) {
            i.style.display = 'none'
        }
    }
}

function setScore() {
    let filter_score = prompt(`点取消表示不筛选 \n请输入筛选数值(0~9.9):`);
    if (filter_score >= 9.9) {
        filter_score = 9.9
    }
    if (isNaN(filter_score)) {
        filter_score = 0
    }
    if (!filter_score) {
        return
    }
    localStorage.setItem('filter_score', filter_score);
    console.log(filter_score)
    return
}

function setScoreLabe(storedScore) {
    let item = document.getElementsByTagName('nav')[0].getElementsByTagName('li')[0]
    item.innerHTML = `评分筛选:${storedScore}`;
    item.style.color = "blue";
    item.style.fontSize = '15px';
    item.style.padding = '0px 0px';
    item.onclick = function () {
        setScore()
        window.location.reload()
    }

}

function getScore() {
    let storedScore
    if (!localStorage.getItem('filter_score')) {
        localStorage.setItem('filter_score', 0);
        return 0
    } else {
        storedScore = localStorage.getItem('filter_score');
    }
    return storedScore
}

function getData1(i, abc) {
    let n = document.createElement("div")
    n.innerHTML = abc
    if(n.innerText.includes("今天")){
        n.style.backgroundColor = "rgb(0 255 0 / 80%)"
    }else{
        n.style.backgroundColor = "rgb(255 255 255 / 80%)"
    }
    
    n.style.position  = "absolute"
    n.style.top = "0%"
    i.parentElement.parentElement.append(n)
}

function getDataInBackground(i, url) {
    let getData = GM_xmlhttpRequest({
        url: url,
        // url:"https:www.taobao.com",
        method: "GET",
        headers: {
            "Content-Type": "text/html",
            "cookies": document.cookie
        },
        onload: function (res) {
            let domparser = new DOMParser()
            let doc = domparser.parseFromString(res.response, "text/html")
            let data = doc.body.getElementsByTagName("script")[0].innerText
            let dd = data.split(";")
            let updateInfo = JSON.parse(dd[4].split("=")[1])['status']
            getData1(i, updateInfo)
        }
    })

}


function add_zm_link(){
    console.log("查找字幕")
    let aaa = document.getElementsByClassName("main-ui-meta")[0]
    let filename = aaa.getElementsByTagName("h1")[0].innerText.split(" ")[0]
    let zm = document.createElement("a")
    zm.innerText = "查找字幕"
    zm.href = "https://zimuku.org/search?q=" + filename
    zm.target="_blank"
    zm.style="font-size:27px;"
    aaa.appendChild(zm)

}



(function () {
    console.log("分数筛选:" + localStorage.filter_score)
    try{
        let storedScore = getScore()
        setScoreLabe(storedScore)
        hideLowScore(storedScore)


        if (window.onurlchange === null) {
            window.addEventListener('urlchange', (info) => {
                // console.log("changed:" + document.URL)
                hideLowScore(storedScore)
            });
        }

        if (location.href === "https://www.btnull.in/user/favorite/") {
            let items = document.getElementsByTagName("h3")
            for (let i of items) {
                let url = i.getElementsByTagName("a")[0].href
                getDataInBackground(i, url)
            }
        }
    } catch(e){

    }

    window.addEventListener('load', function() {
        setTimeout(function() {
            console.log(1234)
            add_zm_link()
        },10)
    })

})();