Обновить HTML-код iframe не моя проблема, в конце концов.(Мне также нужно было перезагрузить свой contentScript)
Итак, наконец, я создал новую панель при каждом нажатии виджета.
Я добавил новый файл в библиотеку myPanel.js
function getPanel(contentURL,contentScriptFile,contentScript){
var popupPanel = require("panel").Panel({
width:550,
height:400,
contentURL: contentURL,
contentScriptFile: contentScriptFile,
contentScript: contentScript
});
return popupPanel;
}
exports.getPanel = getPanel;
И в моем main.js:
exports.main = function() {
data = require('self').data;
var myPanel=require("myPanel");
var tabs = require("tabs");
let myWidget = require('widget').Widget({
id: "SomeId",
label: "Some lable",
contentURL: data.url("some.png"),
onClick: function() {
var panel = myPanel.getPanel(data.url("popup.html"),[data.url("popup.js")],
"self.port.on('curTabMsg', function(curTabMsg) {" +
"main(curTabMsg['curTab']);" +
"});");
panel.show();
panel.port.emit("curTabMsg",{'curTab': tabs.activeTab.url});
}
});
};