Firefox addon sdk在启动/部署时检查浏览器密钥绑定并发出警告

时间:2014-11-04 12:50:39

标签: javascript firefox firefox-addon firefox-addon-sdk

你好,互联网有用的人:)

我一直在玩ff addon sdk,我遇到了麻烦。我的插件将有一个输入框,当我按下Ctrl + T时会弹出并显示。我的代码在我的非开发版本ff中做得很好,因为我已经解除了新选项卡绑定(Ctrl + T)。

    // Register key event handlers in each browser window
    var {observer} = require("sdk/keyboard/observer");
    var map = [];

    observer.on("keydown", function(event) {
        keylogger(event);
    });

    observer.on("keyup", function(event) {
        keylogger(event);
    });

    function keylogger(e){
        map[e.keyCode] = e.type == 'keydown';
        //console.log(e.keyCode); 
        if(map[17] && map[84]){ // maybe also check if the last key down was control.
            //console.log(map);
            // DO STUFF HERE!@
        };
    }

我的问题是,当我在cfx中运行的应用程序中运行时,在控制台中运行绑定已设置。我认为它只是ff的空白版本。我不想解开它,因为当我调试计划时,当有人获得插件时,它会检查是否存在该绑定,并提示用户取消绑定或仅取消绑定。有谁知道如何做到这一点?我不知道如何访问当前的键绑定。有可能吗?

欢呼任何帮助指导或评论:)

1 个答案:

答案 0 :(得分:2)

我认为热键模块会覆盖默认值。也就是说,docs there几乎反映了我的观点:

  

如果您选择使用已定义的组合键,请选择一个对其将执行的操作有意义的组合键。例如,accel-S通常用于保存文件,但如果您将其用于完全不同的文件,则会对用户造成极大的混淆。

     

无论您选择什么,它都可能会惹恼某些人,并与其他附加组件发生冲突,因此请考虑将您选择的组合设置为用户可配置。

在这种情况下,重新定义accel-T是一个非常糟糕的主意;它可能是任何浏览器中最常用的键盘快捷键。我都是为了自定义你自己的设置,但用这个快捷方式分发软件似乎很疯狂。为什么不alt-T?