我为firefox做了一个插件。我安装它,但我有两个问题。我使用windows.open,因为面板不适合我,因为如果用户想要复制其中的东西,面板在他离开时消失。所以我有窗户。我有这段代码:
var widgets = require("sdk/widget");
var windows = require("sdk/windows").browserWindows;
var self = require("sdk/self");
var widget = widgets.Widget({
id: "open window",
label: "test",
contentURL: self.data.url("favicon.ico"),
onClick: function() {
windows.open({
url: "http://www.example.com",
onOpen: function(window) {
}
});
}
});
我不知道在哪里放置宽度,高度,无滚动的属性:/以便显示为弹出窗口。
第二个问题是按钮显示在插件栏上。如何在萤火虫旁边的导航栏上显示它?
答案 0 :(得分:0)
windows
模块不支持指定窗口功能。
您可以使用不稳定的window/utils
模块和openDialog
函数来提供。
或者你可以获得自己chrome
的特权并自己重新实现这些东西。 openDialog
的{{3}}令人惊讶地非常直接,可以轻松借用。
无论哪种方式,您都需要等待窗口实际完全加载(newWindow.addEventListener("load", ...)
),然后才能安全地与之交互。或者通过implementation模块获得一些hackish并听取第一个open
事件。