插件SDK。我怎么能像这样制作弹出窗口?

时间:2014-07-26 22:22:35

标签: javascript css popup firefox-addon firefox-addon-sdk

这样可以制作弹出窗口吗? enter image description here

不包含内容。弹出的风格和位置对我来说很有趣。 在工具按钮下,箭头指向按钮的中心。

面板小部件没有做同样的事情,它只是在窗口中心弹出。

如何使用附加SDK执行此弹出窗口?

2 个答案:

答案 0 :(得分:2)

在Firefox 30及更高版本上,您可以将Panel附加到ToggleButton,如下所示:

var panel = require("sdk/panel").Panel({
    ...

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

var button = require("sdk/ui").ToggleButton({
    ...

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

通过调用position的{​​{1}}参数指定面板的附加位置;在这种情况下,我们会将其附加到Panel.show

更多信息:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/panel#Attaching_panels_to_buttons

答案 1 :(得分:-1)

panel API允许您使用HTML5创建基本面板(当然+ + Javascript和CSS)。

var panel = require("sdk/panel").Panel({
  contentURL: require("sdk/self").data.url("myFile.html")
});

panel.show();

然后有Australis" View"面板,基于XUL并与Australis customization API更好地集成,例如它看起来更像Firefox - " native"和#34;观点"在"汉堡菜单"中的祖先工具栏按钮时正确集成。 ATM没有可用的SDK抽象。