Kob*_*obi 3 firefox firefox-addon firefox-addon-sdk
我正在尝试使用在线Add-On SDK创建一个Firefox附加组件.
我从一些简单的东西开始 - 我想添加一个工具栏按钮来读取当前选定的文本.
var selection = require("selection");
if (selection.text)
console.log(selection.text);
Run Code Online (Sandbox Code Playgroud)
这似乎对我不起作用,我得到了null.
这是我的完整代码:
var selection = require("selection");
require("widget").Widget({
id: "widgetID1",
label: "Test Mozilla Widget",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function(event) {
console.log('selection.text = ' + selection.text);
}
});
Run Code Online (Sandbox Code Playgroud)
我也尝试selection在onClickeven中创建对象,效果相同.
我能够使用该select事件获得有关新选择的通知,所以我想我可以使用它而不是(并保留值),但我想知道为什么上面的代码不起作用...我做错了什么?
selection定义的变量只有选中的文本才会有焦点.单击窗口小部件图标会使焦点远离所选文本,因此它不会选择任何文本.
这就是为什么它在侦听器函数中使用时有效.
为了确认这一点,我尝试在按下工具栏按钮(使用toolbarbutton模块)时记录其值,并且它可以正常工作.按下工具栏按钮(大概)不会窃取焦点.
这是代码,您也可以在线测试:
var selection = require("selection");
var tbb = require("toolbarbutton").ToolbarButton({
id: "test",
label: "test",
image: "http://www.mozilla.org/favicon.ico",
onCommand: function(event) {
console.log('selection = ' + JSON.stringify(selection)); // works!
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1731 次 |
| 最近记录: |