您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Write contestID and problem to the clipboard
当前为
- // ==UserScript==
- // @name AtCoderDevotionScript
- // @namespace http://tampermonkey.net/
- // @version 0.3
- // @description Write contestID and problem to the clipboard
- // @author imomo
- // @include https://atcoder.jp/contests/*/tasks/*
- // @grant none
- // ==/UserScript==
- /*ユーザー設定項目*/
- //クリップボードにコピーするものの設定 all以外:[コンテストID] / all:[スクリプト名] [コンテストID] [問題名(a,b...,f)]
- var copyTarget = "";
- //ショートカットに設定するキーを設定 デフォルトはQです(大文字で入力して下さい)
- var shotcutKey = 'Q';
- //コピーできたか通知するかどうか onの場合のみ通知を行います
- var notification = "on";
- //(※必要な方のみ)シェルスクリプト、もしくはシェルスクリプトを呼び出すコマンドを設定
- var callScripts = "";
- /*設定項目終わり*/
- var copystr;
- onkeydown = function(){
- if((event.ctrlKey || event.metaKey)&&event.keyCode==shotcutKey.charCodeAt()){
- //問題ページのURLを取得
- var contestUrl = location.href;
- //パス毎に分割
- var problemPass = contestUrl.split("/");
- //contestID及び問題種別を格納
- var contestID = problemPass[problemPass.length - 3];
- var problem =contestUrl.substr(-1);
- if(!isNaN(problem))problem = String.fromCharCode(96 + Number(problem));
- if(copyTarget == "all")copystr = callScripts + " " + contestID + " " + problem;
- else copystr = contestID;
- // 空div 生成
- var tmp = document.createElement("div");
- // 選択用のタグ生成
- var pre = document.createElement('pre');
- // 親要素のCSSで user-select: none だとコピーできないので書き換える
- pre.style.webkitUserSelect = 'auto';
- pre.style.userSelect = 'auto';
- tmp.appendChild(pre).textContent = copystr;
- // 要素を画面外へ
- var s = tmp.style;
- s.position = 'fixed';
- s.right = '200%';
- // body に追加
- document.body.appendChild(tmp);
- // 要素を選択
- document.getSelection().selectAllChildren(tmp);
- // クリップボードにコピー
- document.execCommand("copy");
- // 要素削除
- document.body.removeChild(tmp);
- //通知
- if(notification == "on"){
- if(copyTarget == "all")alert(callScripts + " " + contestID + " " + problem+" copied!!");
- else alert(contestID + " copied!!");
- }
- }
- }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址