Greasy Fork

yande.re 历史最大页数记录

按日期记录主页最大页数,用于查看下次收图时的页数增长

目前为 2022-05-29 提交的版本。查看 最新版本

// ==UserScript==
// @name         yande.re 历史最大页数记录
// @namespace    http://tampermonkey.net/
// @version      0.7
// @description  按日期记录主页最大页数,用于查看下次收图时的页数增长
// @author       Exisi
// @match        https://yande.re/post
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_deleteValue
// @grant        GM_listValues
// ==/UserScript==
// @note         0.7 规范化部分代码
// @note         0.6 启用严格模式
// @note         0.5 修改正确页数的正向跳转
// @note         0.4 增加历史页数差值的正向跳转
// @note         0.3 代码优化
// @note         0.2 优化显示布局,增加当前页数与历史页数的差值显示
// @note         0.1 页数记录

(function () {
    "use strict";
    //设置最大记录数
    let max = 5;
    //获取最大页数
    let pagination = document.getElementById("paginator").getElementsByClassName("pagination")[0];
    let lastPage = pagination.getElementsByTagName("a")[5].textContent;
    /**
     * 记录最大页数
     * key:年份日期
     * value:当前最大页数
     */
    let date = new Date();
    let fullDate = date.getFullYear() + "-" + (parseInt(date.getMonth()) + 1) + "-" + date.getDate();
    GM_setValue(fullDate, lastPage);
    //绘制容器
    let panel = document.createElement("div");
    panel.setAttribute("id", "panel");
    let paginator = document.getElementById("paginator");
    paginator.appendChild(panel);
    /**
     * 容器item
     * div:容器
     * a:子链接容器
     * *_span:记录项 (t日期,p页数,d差值)
     */
    let show = (date, page) => {
        let d_value = lastPage - page;
        let panel = document.getElementById("panel");
        panel.innerHTML += "<br>";
        let div = document.createElement("div");
        let a = document.createElement("a");
        let t_span = document.createElement("span");
        let p_span = document.createElement("span");
        let d_span = document.createElement("span");
        t_span.style.float = "left";
        d_span.style.float = "right";
        t_span.innerText = "日期 : " + date;
        p_span.innerText = "页数 ♡" + page;
        d_span.innerText = "差值 +" + d_value;
        a.style.border = "none";
        if (d_value != 0) {
            a.setAttribute("href", "https://yande.re/post/?page=" + (d_value + 1));
        }
        a.appendChild(t_span);
        a.appendChild(p_span);
        a.appendChild(d_span);
        div.style.border = "1px white solid";
        div.style.color = "#ee8887";
        div.style.textAlign = "none";
        div.appendChild(a);
        panel.appendChild(div);
    }
    //取出记录
    let data = GM_listValues();
    if (data.length > max) {
        GM_deleteValue(data[0]);
    }
    //显示全部页数记录
    for (const i in data) {
        let value = GM_getValue(data[i]);
        if (value != null){
            show(data[i], value);
        }
    }
})();