Created
November 28, 2020 04:31
-
-
Save book000/d2ec1ee8aee967bc47337a5e1e659263 to your computer and use it in GitHub Desktop.
IT Passport Kakomon doujyo keyboard controller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name IT Passport Kakomon doujyo keyboard controller | |
// @namespace https://gist.github.com/book000 | |
// @version 0.0.1 | |
// @description ITパスポート試験ドットコム「ITパスポート過去問道場」をキーボード操作可能とするスクリプト | |
// @author book000 | |
// @match https://www.itpassportsiken.com/ipkakomon.php | |
// @grant none | |
// ==/UserScript== | |
/* | |
* ITパスポート試験ドットコム「ITパスポート過去問道場」でそれぞれ以下の機能を追加するスクリプト | |
* ・数字キーおよびテンキーの1,2,3,4を回答のア,イ,ウ,エと関連付け、それらのキーが押された場合アイウエのいずれか対応するボタンを押す。 | |
* ・アイウエのいずれかが押された時、正解であれば緑チェックマークを、不正解であれば赤チェックマークを設定する。 | |
* ・エンターキーが押された際、「次の問題」ボタンを押して次の問題へ進む。 | |
* | |
* Tampermonkeyなどに登録して動作するようにしてください。 | |
*/ | |
(function() { | |
document.onkeydown = function (event) { | |
if (event) { | |
let keyCode; | |
if (event.keyCode) { | |
keyCode = event.keyCode; | |
} else if (event.which) { | |
keyCode = event.which; | |
} | |
// 数字キーおよびテンキーの1,2,3,4を回答のア,イ,ウ,エと関連付け、それらのキーが押された場合アイウエのいずれか対応するボタンを押す。 | |
if (keyCode == 49 || keyCode == 97) { | |
document.querySelectorAll(".selectBtn")[0].click(); | |
} | |
if (keyCode == 50 || keyCode == 98) { | |
document.querySelectorAll(".selectBtn")[1].click(); | |
} | |
if (keyCode == 51 || keyCode == 99) { | |
document.querySelectorAll(".selectBtn")[2].click(); | |
} | |
if (keyCode == 52 || keyCode == 100) { | |
document.querySelectorAll(".selectBtn")[3].click(); | |
} | |
// エンターキーが押された際、「次の問題」ボタンを押して次の問題へ進む。 | |
if (keyCode == 13) { | |
document.querySelector("#configform > div.bottomBtns > button.submit").click(); | |
} | |
} | |
} | |
// アイウエのいずれかが押された時、正解であれば緑チェックマークを、不正解であれば赤チェックマークを設定する。 | |
for (let element of document.querySelectorAll(".selectBtn")) { | |
element.onclick = function () { | |
answerCheck(); | |
} | |
} | |
function answerCheck() { | |
if (document.querySelector("div#popup.maru") != null) { | |
console.log("正解"); | |
document.querySelector(".checkG").click(); | |
} | |
if (document.querySelector("div#popup.batu") != null) { | |
console.log("不正解"); | |
document.querySelector(".checkP").click(); | |
} | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment