您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Whenever the page contains “过关” and #box.lv{n}, click the single span whose background‑color is unique. Runs continuously.
当前为
- // ==UserScript==
- // @name Auto ColorTest
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description Whenever the page contains “过关” and #box.lv{n}, click the single span whose background‑color is unique. Runs continuously.
- // @match https://www.webhek.com/post/color-test/
- // @run-at document-start
- // @grant none
- // @license MIT
- // ==/UserScript==
- (() => {
- const pass = /过关/;
- const flag = 'data-oddspan-clicked';
- const isBox = e => e instanceof HTMLElement && e.id === 'box' && [...e.classList].some(c => /^lv\d+$/.test(c));
- const clickUnique = b => {
- const s = [...b.querySelectorAll('span')].filter(x => !x.hasAttribute(flag));
- if (!s.length) return;
- const m = new Map();
- s.forEach(x => {
- const c = getComputedStyle(x).backgroundColor.trim();
- (m.get(c) || m.set(c, []).get(c)).push(x);
- });
- let t = null, n = 1e9;
- m.forEach(v => { if (v.length === 1) t = v[0]; else if (!t && v.length < n) { n = v.length; t = v[0]; } });
- if (!t) return;
- t.setAttribute(flag, '1');
- t.scrollIntoView({block:'center'});
- t.click();
- };
- const scan = () => { if (!pass.test(document.body?.innerText||'')) return; const b = document.getElementById('box'); if (b && isBox(b)) clickUnique(b); };
- let pend = false;
- const schedule = () => { if (pend) return; pend = true; requestAnimationFrame(() => { pend = false; scan(); }); };
- document.addEventListener('DOMContentLoaded', () => {
- scan();
- new MutationObserver(schedule).observe(document.body, {childList:true,subtree:true});
- setInterval(scan, 10);
- });
- })();