Erik Vold のツールバー ボタンを使用しています。パネルを固定しています。パネルにレンダリングされた html 静的ページでリンクの 1 つをクリックすると、同じパネルに別のものを表示する必要があります。
アドオン コードと html 静的ページの間のメッセージ パッシングにポート API を使用しようとしています。特定のイベントを聞いて、パネルの contentURL フィールドを変更したい:
var myScript = "window.addEventListener('click', function(event) {" +
" var t = event.target;" +
" if (t.nodeName == 'A')" +
" self.port.emit('click-link', t.id);" +
"}, false);"
var mainPanel = require("panel").Panel({
width: 200,
height: 200,
contentURL: require("self").data.url("appList.html"),
contentScript: myScript
});
mainPanel.port.on("click-link", function(appName) {
if(appName=='app1'){
//mainPanel.resize(700,500); --works
mainPanel.contentURL="http://www.some-server/app1.html"; --fails
}
if(appName=='app2')
...
});
mainPanel.resize() は、パネルのサイズ変更にうまく機能します。パネルの contentURL を変更する同様の方法はありますか?