特定の Web ページにいくつかのカスタム キーボード ショートカットを追加したいと考えています。
この質問から受け入れられた回答をガイドとして使用する:既存の JavaScript 関数に JavaScript キーボード ショートカットを追加するにはどうすればよいですか?
独自の小さな関数を作成し、リスナーを追加しました。
// ==UserScript==
// @name ChartGame
// @namespace http://www.chartgame.com/
// @version 0.1
// @description enter something useful
// @match http://www.chartgame.com/play*
// @copyright 2012+, You
// ==/UserScript==
function doc_keyUp(e) {
switch(e.keyCode)
{
case 49: //1
mon_clk(3);
break;
case 50:
mon_clk(6);
break;
case 83: //s
BuySell(0);
break;
case 68: //d
BuySell(1);
break;
case 70: //f
TimelapseDwn();
TimelapseUp();
break;
default:
break;
}
}
document.addEventListener('keyup', doc_keyUp, false);
このコードは、適切な Web ページ上で Chrome の JavaScript コンソールに入力すると、問題なく実行されます。意図したとおりにキーボード ショートカットを使用できます。唯一の問題は、次のゲーム (チャート) に行く場合、リスナーを含む JavaScript コードを再入力する必要があることです。
Tampermonkey を使用すると、 の式に一致する特定のページでこのスクリプトを自動的に実行できるようになるというのが私の印象でした@match
。コードは実行されているように見えますが、キーボード ショートカット機能はありません。
Chrome コンソールや Tampermonkey などの拡張機能から JavaScript コードを実行する場合に何が欠けているのか、何が違うのでしょうか?