Greasy Fork

Greasy Fork is available in English.

seiya-saiga.com

-

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         seiya-saiga.com
// @version      0.0.1
// @name         -
// @description  -
// @include      https://seiya-saiga.com/game/*
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_deleteValue
// @run-at       document-end
// @namespace http://greasyfork.icu/users/480818
// ==/UserScript==

const db = document.body,

    cb = db.querySelectorAll("[type=checkbox]"),

    n = /(?<=\/)\w+(?=\.html)/.exec(location.pathname)

let va = GM_getValue(""), vl

va ? (() => {
    va = JSON.parse(va)

    vl = va[n]

    vl && window.addEventListener("load", () => {
        cb.forEach((el, ei) => (el.checked = vl[ei]))
    })
})() : va = {}

window.addEventListener("click", event => {
    const ti = Array.from(cb).indexOf(event.target)

    ~ti && (() => {
        // initialize the list only when clicked
        vl || (vl = Array(cb.length).fill(0))

        vl[ti] = cb[ti].checked ? 1 : 0

        va[n] = vl

        GM_setValue("", JSON.stringify(va))
    })()
})

db.removeAttribute("oncontextmenu")
db.removeAttribute("onselectstart")

// print json
console.log(va)