我的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});
};

当我单击该图标时,它会显示其上方的面板,但是当焦点移开时,它会立即关闭并重新开始。 我如何确定,它在失去焦点时不会关闭,但是我需要再次单击小部件以将其隐藏。

#1楼 票数:2 已采纳

无法在SDK中完成。 有几个问题要面对,此外,该小组并未以这种方式工作。 但是,您可以手动执行此操作,但是您要面对一些不容易解决的问题。 您可以在此处查看我的答案: firefox附加SDK:使面板保持可见状态 ,也指向此WONTFIX错误: https ://bugzilla.mozilla.org/show_bug.cgi ? id = 595040

  ask by raju translate from so

未解决问题?本站智能推荐:

1回复

当jetpack面板更改位置时如何保持contentScript工作

在使用jetpack的Firefox扩展中,我有一个带有contentScript的面板 。 该面板设置为最初显示URL。 如果面板更改了位置(通过单击链接或document.location= ),我将无法再向contentScript发出消息(它将引发ERR_DESTROYED,“页面已
1回复

无法在Firefox插件中向面板发送消息? (该页面当前处于隐藏状态,在再次显示之前无法使用)

我的目标非常简单:我需要一个面板,用户可以在其中指定用户名和密码,然后单击“登录”。 然后,我想执行一个Web请求以验证凭据,并向用户显示响应。 我发现必须在main.js中执行请求并将其传递回去。 因此,提交表单后,我将构建我的URL,向执行请求的main.js发出一条消息。 效果
1回复

在面板中使用JavaScript

我正在使用附加组件SDK制作Firefox附加组件。 我找不到在面板中使用JavaScript代码的方法。 这是我所做的: 这可行,但是我不能在test.html页面中使用JavaScript。 有人有解决方案吗?
1回复

添加按钮以关闭面板

我想添加一个关闭按钮以关闭显示在浏览器中的panel 。 为此,我有一个javascript文件,它启动作为我的panel的prompt.html文件。 然后在我的prompt.html有以下内容: 该脚本包含将节点添加到div并显示内容的代码。 我的问题是:如何添加按钮以关
2回复

如何将面板锚定到DOM元素?

我有一个附加组件,它绑定到onKeyPress上所有文本控件的onKeyPress事件。 在输入一些文本时,我将从内容脚本向附加脚本发送消息,该脚本将显示包含一些数据的面板。 这很好用,但面板没有正确定位。 我想将面板定位到文本控件。 Panel的show()函数将DOM元素放在应该
1回复

如何显示其中包含动态内容(HTML)的面板

当用户按下浏览器工具栏上的插件按钮时,我想显示包含HTML内容的下拉菜单。 似乎我需要按照文档中的建议使用面板 ,但是问题是我的内容是动态的,并且可以在插件工作时随时间变化。 AFAIK panel只能使用预定义的HTML文件并通过contentScript属性提供的脚本来更改其内容,但
2回复

在firefox附加面板中显示远程图像

我正在尝试在FireFox附加面板中显示远程图像,但是src属性正在从以下内容转换: http://example.com/image.jpg 这样的事情: resource://addon_name/data/%22http://example.com/image.jpg%22
1回复

Firefox Addon-SDK面板滚动条

如何摆脱sdk中面板模块中出现的不需要的垂直和水平滚动条? 我的选择如下: 编辑:我能够通过添加一个CSS属性到身体(溢出:隐藏)来解决这个问题,正如#jetpack上的ZER0或_zombie所慷慨推荐的那样,我忘记了!