firefox附加快捷方式不再有效

firefox附加快捷方式不再有效,firefox,firefox-addon,xul,shortcut,Firefox,Firefox Addon,Xul,Shortcut,我在我的browser.xul中使用了以下命令来设置插件的快捷方式 <keyset id="mainKeyset"> <key id="key_convert" modifiers="accel" keycode="VK_F12" oncommand="myfunction()" />" </keyset> " 它曾经适用于Firefox的早期版本,但不再适用于新版本。 语法有什么变化吗 谢谢一些注意事项:

我在我的browser.xul中使用了以下命令来设置插件的快捷方式

<keyset id="mainKeyset">
  <key id="key_convert"
       modifiers="accel"
       keycode="VK_F12"
       oncommand="myfunction()" />"
</keyset>

"
它曾经适用于Firefox的早期版本,但不再适用于新版本。 语法有什么变化吗

谢谢

一些注意事项:

  • 必须将其添加到关键帧集,因为添加关键帧集时会附加关键帧侦听器
    • 资料来源:
  • 您必须设置一个
    oncommand
    属性
    • 资料来源:
可以将此复制粘贴到草稿行:

var keyset = document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'keyset'); //http://forums.mozillazine.org/viewtopic.php?f=19&t=2711165&p=12885299&hilit=mainKeyset#p12885299
//cant use mainKeyset see topic above
var key = document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'key');
var props = {
  id: 'key_convert',
  modifiers: 'accel',
  keycode: 'VK_F12',
  oncommand: 'alert("tirggered")'
};
for (var p in props) {
  key.setAttribute(p, props[p]);
}
keyset.appendChild(key);
Services.wm.getMostRecentWindow('navigator:browser').document.documentElement.appendChild(keyset);

该代码示例看起来是正确的,我怀疑
myfunction()
中有一些代码失败,因此我们可能需要更多信息。尝试将
myfunction()
替换为
alert(“test”)
,应该可以