您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Support maths for DartCounter score entry.
当前为
// ==UserScript== // @name DartCounter Calculator // @namespace http://dartcounter.net/ // @author mrdarts180 // @version 2.0 // @license MIT // @description Support maths for DartCounter score entry. // @match http*://app.dartcounter.net/* // @icon https://dartcounter.net/favicon-32x32.png // @require https://unpkg.com/mathjs/lib/browser/math.js // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; var observer = new MutationObserver(function(mutations) { var score = document.getElementsByClassName("in-game-score-field")[0]; if (score) { score.type = 'text'; score.disabled = false; score.setAttribute('autocomplete', 'off'); } }); observer.observe(document, {attributes: false, childList: true, characterData: false, subtree:true}); document.addEventListener('keydown', (event) => { var score = document.getElementsByClassName("in-game-score-field")[0]; if (score && event.target == score) { if (event.keyCode == 13) { let evalScore = (str) => { return math.evaluate(str); }; if (score.value && score.value.length > 0) { score.value = evalScore(score.value); score.dispatchEvent( new Event("input", { bubbles: true, cancelable: true }) ); event.stopPropagation(); score.dispatchEvent(new KeyboardEvent('keydown', {'key': 'Enter'})); return false; } } // Remaping +/- keys else if (event.keyCode == 187 || event.keyCode == 189) { score.value += event.keyCode == 187 ? "+" : "*"; score.dispatchEvent( new Event("input", { bubbles: true, cancelable: true }) ); event.cancelBubble = true; event.preventDefault(); event.stopPropagation(); return false; } } }, true); })();