您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
show random verification time
// ==UserScript== // @name Show random verification time // @namespace https://greasyfork.org/users/821661 // @match https://*.superau.la/* // @grant none // @version 1.0 // @require https://update.greasyfork.org/scripts/526417/1540623/USToolkit.js // @author hdyzen // @description show random verification time // @license GPL-3.0-only // ==/UserScript== function waitElement(selector) { return new Promise((resolve, reject) => { const callback = () => { const target = document.querySelector(selector); if (target) resolve(target); }; const observer = new MutationObserver(callback); observer.observe(document.body, { childList: true, subtree: true, }); }); } async function init() { try { const dataFutura = new Date(JSON.parse(localStorage.getItem("db-v6")).CurrentSession.AulaEmAndamento.ValidacaoAleatoria.CandidatoConvocacoes[0].HoraConvocacaoAleatoria); const restante = await waitElement(".chat__header__title:has(> :nth-child(2))"); const aleatoria = document.createElement("span"); aleatoria.style.marginLeft = "6px"; restante.appendChild(aleatoria); const intervalo = setInterval(() => { const agora = new Date(); const tempoRestante = dataFutura - agora; if (tempoRestante <= 0) { clearInterval(intervalo); console.log("A data futura foi alcançada!"); } else { const segundos = Math.floor((tempoRestante / 1000) % 60); const minutos = Math.floor((tempoRestante / (1000 * 60)) % 60); const horas = Math.floor((tempoRestante / (1000 * 60 * 60)) % 24); aleatoria.textContent = `• ${horas}h${minutos}m${segundos}s`; // console.log(`${horas}h${minutos}m${segundos}s`); } }, 1000); } catch (error) { console.error("Error: ", error); } } init();