您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Write contestID and problem to the clipboard
当前为
// ==UserScript== // @name AtCoderDevotionScript // @namespace http://tampermonkey.net/ // @version 0.1 // @description Write contestID and problem to the clipboard // @author imomo // @match https://atcoder.jp/contests/*/tasks/* // @grant none // ==/UserScript== onkeydown = function(){ if(event.ctrlKey&&event.keyCode==81){ //問題ページのURLを取得 var contestUrl = location.href; //コンテストのパスのみ切り出し var problemPass = contestUrl.substr(contestUrl.lastIndexOf("/")+1); //contestID及び問題種別を格納 var contestID = problemPass.substr(0,problemPass.length - 2); var problem =problemPass.substr(-1); // 空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 = contestID + " " + problem; // 要素を画面外へ 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); } }