我的插件打开一个弹出式面板(popup.html
)。如何使用firefox addon sdk重新加载小部件弹出窗口?
当用户将当前选项卡更改为不同的选项卡时,隐藏弹出式面板,直到用户再次单击插件图标。 (与此同时,插件仍然在后台“生活”)。
当第二次打开弹出窗口时,我需要它来重新载入它的contentURL(popup.html
),但我确实找到了实现它的方法。
这看起来很简单,但我对附加SDK的使用经验不多。
任何帮助将不胜感激。
这是我的代码:
exports.main = function() {
data = require('self').data;
var tabs = require("tabs");
var popupPanel = require("panel").Panel({
width:550,
height:400,
contentURL: data.url("popup.html"),
contentScriptFile: [data.url("popup.js")],
contentScript: " "+
"self.port.on('curTabMsg', function(curTabMsg) {" +
"main(curTabMsg['curTab']);" +
"});"
});
require('widget').Widget({
panel: popupPanel,
onClick: function() {
popupPanel.port.emit("curTabMsg",{'curTab': tabs.activeTab.url});
}
});
};
您可能想解释为什么要重新加载面板而不是发送消息来更新其状态。 – 2012-02-01 17:47:34
确切地说 - ti对于对事件做出反应并重新加载内容的面板实现内容脚本是最简单的。 – canuckistani 2012-02-01 20:29:20
我没有想到这个方向。这听起来很有趣,我会试试看。如果它能工作,我会稍后更新。 – Roey 2012-02-02 10:33:28