摆脱站点特定的热键

摆脱站点特定的热键

如果(且仅当)站点特定的热键已在 Opera 中映射,我该如何禁用它们?例如,我使用<C-b>而不是<Right><C-h>而不是<BS>。在 Stack Overflow/Super User 上,它们分别生成**strong text**## Heading ##。我不希望这种情况发生。我可以检查 Super User/Stack Overflow/some_other_site 的 javascript 并编写一个 userjs 来完成这项工作,但这种方法并不通用。

我在 Gentoo Linux 中使用 Opera-10.51_pre6252。

答案1

以下 userjs 可防止触发指定热键的事件(请参阅以 开头的长数组["h")。有人知道如何自动获取 opera 使用的热键列表吗?(无需任何外部脚本来监视 opera ini 文件并在更改时生成类似的 userjs)。

// ==UserScript==
// @include *
// ==/UserScript==
(function() {
 window.opera.addEventListener("BeforeEventListener.keypress", (function(e) {
         if(e.event.ctrlKey || e.event.metaKey) {
             var s=String.fromCharCode(e.event.keyCode).toLowerCase();
             if(["h", "b", "d", "f", "t", "w", "z", "n", "g", "c", "\t"].indexOf(s)!=-1) {
                 e.preventDefault();
             }
         }
     }), false);
 })();

相关内容