您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
AtCoderバーチャル参加ページの開始時刻入力の簡略化。
// ==UserScript== // @name atcoder-virtual-quick-vst // @namespace https://github.com/ilplrr // @version 1.0 // @description AtCoderバーチャル参加ページの開始時刻入力の簡略化。 // @author ilplrr // @match https://atcoder.jp/contests/*/virtual // @license MIT // @grant none // ==/UserScript== (function() { 'use strict'; const vstInputTag = document.querySelector('#vst-tmp'); if (!vstInputTag) return; const div = document.createElement('div'); div.style.textAlign = 'center'; div.style.marginBottom = '15px'; document.querySelector('#form-register').insertBefore(div, document.querySelectorAll('.form-group')[1]); const createBtn = (text, sec) => { const btn = document.createElement('input'); btn.type = 'button'; btn.value = text; btn.style.marginRight = '1rem'; btn.addEventListener('click',() => { const vst = new Date(); vst.setSeconds(vst.getSeconds() + sec); let s = ''; s += [vst.getFullYear(), vst.getMonth()+1, vst.getDate()].map((x) => x.toString().padStart(2, '0')).join('-'); // yyyy-mm-dd s += ' '; s += [vst.getHours(), vst.getMinutes(), vst.getSeconds()].map((x) => x.toString().padStart(2, '0')).join(':'); // hh:mm:ss vstInputTag.value = s; }); return btn; }; div.appendChild(createBtn('10秒後', 10)); div.appendChild(createBtn('1分後', 1*60)); div.appendChild(createBtn('3分後', 3*60)); div.appendChild(createBtn('5分後', 5*60)); })();