次の Userscript (Greasemonkey を使用する Firefox で使用) は、理論的には、Ctrl+t
すべての Web サイトのすべてのイベントをキャプチャし、「Gotcha!」と警告してから、Web サイトがそのCtrl+t
イベントを認識しないようにする必要があります。
ただし、一部のサイト (Google、Stack Exchange) でのみ機能し、他のサイトでは機能しません。Userscript が機能しない例の 1 つは Codecademy (コード エディターにフォーカスがある場合) で、Ctr+t
常にカーソルの隣の 2 文字を切り替えます。
Flash を無効にしたので、これは JavaScript で解決できる問題だと思います。イベントが Web サイト スクリプトにバブル スルーされないようにするには、スクリプトで何を変更できますか?
// ==UserScript==
// @name Disable Ctrl T interceptions
// @description Stop websites from highjacking keyboard shortcuts
//
// @run-at document-start
// @include *
// @grant none
// ==/UserScript==
// Keycode for 't'. Add more to disable other ctrl+X interceptions
keycodes = [84];
document.addEventListener('keydown', function(e) {
// alert(e.keyCode ); //uncomment to find more keyCodes
if (keycodes.indexOf(e.keyCode) != -1 && e.ctrlKey) {
e.cancelBubble = true;
e.stopImmediatePropagation();
alert("Gotcha!"); //comment this out for real world usage
}
return false;
});
免責事項:私はもともと、スーパーユーザーに関するこのトピックをカバーするより広範な質問をしました. 答えを見つけようとしているときに、この特定のスクリプト関連の問題に遭遇しました。二重投稿するつもりはありませんでした-質問のこの部分は、スーパーユーザーよりもスタックオーバーフローに適していると思います。