我的firefox插件使用面板,当我点击其他地方时面板消失,包括切换标签。以下是它的代码
var { ToggleButton } = require('sdk/ui/button/toggle');
var panels = require("sdk/panel");
var self = require("sdk/self");
var tabs = require("sdk/tabs");
var button = ToggleButton({
id: "my-button",
label: "my button",
icon: {
"16": "./icon-16.png",
"32": "./icon-32.png",
"64": "./icon-64.png"
},
onChange: handleChange
});
var panel = panels.Panel({
contentURL: "about:blank",
width: 320,
height: 480,
onHide: handleHide,
onHide: handleHide
});
function handleChange(state) {
if (state.checked) {
panel.contentURL = tabs.activeTab.url;
panel.show({
position: button
});
}
};
function handleHide() {
button.state('window', {checked: false});
};
当我点击图标时,它会显示上方的面板,但是当焦点消失时,它会立即关闭并重新开始。我如何确定,它不会关闭失去焦点但我需要再次点击小部件来隐藏它。
答案 0 :(得分:2)
无法在SDK中完成。有几个问题需要面对,加上专家组没有实施以这种方式工作。但是,您可以手动执行此操作,但是您遇到一些不容易的问题。您可以在此处查看我的答案:firefox add-on sdk: make panel to stay visible也指向此WONTFIX错误:https://bugzilla.mozilla.org/show_bug.cgi?id=595040