Javascript Firefox插件:单击当前web文档时使面板保持不变

Javascript Firefox插件:单击当前web文档时使面板保持不变,javascript,jquery,firefox,firefox-addon,firefox-addon-sdk,Javascript,Jquery,Firefox,Firefox Addon,Firefox Addon Sdk,如何使firefox插件面板在点击当前文档时保持可见。我使用firefox官方文档中的。是否仍有实现相同的功能。提前感谢 var { ToggleButton } = require('sdk/ui/button/toggle'); var panels = require("sdk/panel"); var self = require("sdk/self"); var button = ToggleButton({ id: "my-button", label: "my button"

如何使firefox插件面板在点击当前文档时保持可见。我使用firefox官方文档中的。是否仍有实现相同的功能。提前感谢

var { ToggleButton } = require('sdk/ui/button/toggle');
var panels = require("sdk/panel");
var self = require("sdk/self");

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: self.data.url("panel.html"),
   onHide: handleHide
 });

 function handleChange(state) {
   if (state.checked) {
     panel.show({
     position: button
   });
 }
 }

 function handleHide() {
    button.state('window', {checked: false});
 }

您必须使用
getActiveView
,然后将
autohide
设置为false-@Noitidart确定,当我使用“getActiveView”时,它将不再隐藏。我需要它在按钮切换时隐藏。注意:它基于附加sdk(jpm)而不是XUL。@vivek,这是一个新问题。不过,我建议您@Makyen我已经试过panel.hide();它可以在按钮切换上工作,但问题是即使在窗口失去焦点后,面板仍然存在。例如,如果我打开另一个应用程序,面板就会显示在那里;(@vivek,听起来你需要清楚明确地定义你希望面板何时可见以及何时隐藏。我们可能会提供帮助,但你之前所说的只是“我需要它在按钮切换时隐藏”。鉴于你的代码已经在按钮切换上运行,我将你指向
hide()
。您需要确定代码必须处理哪些情况以及为您处理哪些情况。请记住,在所有已安装的加载项中,一次只能打开一个加载项SDK面板。如果另一个加载项SDK扩展打开一个
SDK/面板
,则面板将关闭。您必须使用
getActiveView
,然后使用
autohide
为false-@Noitidart好的,当我使用“getActiveView”时,它将不再隐藏。我需要它在按钮切换时隐藏。注意:它基于附加sdk(jpm)而不是XUL。@vivek,这是一个新问题。不过,我建议您@Makyen我已经尝试过panel.hide();它可以在按钮切换上工作,但问题是即使在窗口失去焦点后面板仍然存在。例如,如果我打开另一个应用程序,面板就会显示在那里;(@vivek,听起来你需要清楚明确地定义你希望面板何时可见以及何时隐藏。我们可能会提供帮助,但你之前所说的只是“我需要它在按钮切换时隐藏”。鉴于你的代码已经在按钮切换上运行,我将你指向
hide()
。您需要确定您的代码必须处理哪些情况以及为您处理哪些情况。请记住,在所有已安装的加载项中,一次只能打开一个加载项SDK面板。如果另一个加载项SDK扩展打开一个
SDK/面板
,则您的面板将关闭。