无法将热键功能添加到firefox插件中
Unable to add Hotkey functionality to firefox addon
我使用了一个现有的插件,它在谷歌上搜索给定的单词。以下是链接:https://addons.mozilla.org/en-US/firefox/addon/inline-google-search/?src=api
Addon的工作原理是选择文本,然后右键单击它,在上下文菜单中可以选择在谷歌上搜索。
以下是主要的js文件:
exports.main = function() {};
var panel = require("sdk/panel").Panel({
width:700,
height: 500,
contentURL: "about:blank",
onHide : function(){
this.contentURL = "about:blank"
}
});
var contextMenu = require("sdk/context-menu");
var menuItem = contextMenu.Item({
label: "Search Google Inline",
context: contextMenu.SelectionContext(),
contentScript: 'self.on("click", function () {' +
' var text = window.getSelection().toString();' +
' self.postMessage(text);' +
'});',
onMessage: function (selectionText) {
panel.contentURL = "https://www.google.co.in/search?q="+selectionText;
panel.show();
}
});
我添加了一些功能,这样在选择文本并按Ctrl+Shift+d后,就可以在谷歌上搜索文本了。
我在结尾添加了几行额外的行:
var { Hotkey } = require("sdk/hotkeys");
var selection = require("sdk/selection");
var showHotKey = Hotkey({
combo: "accel-shift-d",
onPress: function() {
panel.contentURL = "https://www.google.co.in/search?q="+selection.text;
panel.show();
}
});
我在这里找到了上面的片段:访问热键对象中的选定文本
还有一个文件harness-options.json,我在其中更新了main.js文件的sha256 sum,并在manifest部分添加了需求sdk/hotkeys和sdk/selection。
但是插件在安装后无法工作。甚至上下文菜单选项也不再出现。看来我破坏了密码。
我可能做错了什么?
我没有编辑插件,而是使用cfx和插件sdk从头开始创建它,它很有效。
相关文章:
- firefox插件和dev/panel之间的通信
- firefox插件:退出不工作的应用程序观察器
- Firefox插件-如何发出http请求
- Firefox插件SDK:在侧边栏和主脚本之间通信对象
- Firefox插件:保存到文本文件的HTTP日志,其中包含时间、用户名、计算机名;t创建文本文件
- 在Firefox插件中注册控制台服务侦听器
- Bug修复放弃了Firefox插件Wikilook
- 参考Firefox插件's install.rdf em:xul文件中的版本
- Firefox插件忽略iframe
- 如何从Greasemonkey脚本创建Firefox插件
- 我的Firefox插件和跨域https存在问题
- FireFox插件sdk页面工作正则表达式
- 如何在Firefox插件中向子进程发送消息,如Chrome原生消息
- Firefox插件:同步通信
- 从firefox插件访问文件系统/目录路径
- 如何在Firefox插件中使用来自外部URI的contentScriptFile
- Firefox插件:如何根据平台设置默认首选项
- Firefox插件-在提交之前捕获post变量[no-enctype]
- 在尝试SE OAuth初始化时,Firefox插件中出现channelUrl错误
- 通过注册表安装的Firefox插件是否可以使用updateURL