ウィジェットがクリックされたときに表示されるパネルを備えたツールバーウィジェットを追加するFirefox拡張機能があります。特定の状況下では、ツールバーウィジェットがクリックされたときにパネルが表示されないはずです。
私は次のようにツールバーとパネルをインスタンス化しています:
var popup = panel.Panel({
width: 310,
height: 400,
contentURL: self.data.url('panel.html'),
contentScriptFile: self.data.url('panel.js'),
// NOTE: You can't use the contentStyleFile option here.
});
var toolbarOptions = {
id: 'someid',
label: 'Some Label',
contentURL: self.data.url('icon-16.png'),
panel: popup
};
// There doesn't seem to be a way to remove the toolbar in PB mode.
var toolbar = widgets.Widget(toolbarOptions);
ウィジェットクリックハンドラーからパネルを開くのをキャンセルするにはどうすればよいですか?そこにどんなロジックを入れても、いつも開いているようです。
toolbar.on('click', function() {
if (dontShowPanel()){
// I want to somehow cancel the panel opening at this point.
} else {
panel.show();
}
});
return false;
動作しないように見えるクリックハンダーから試してみました。私も電話をかけてみましたpanel.hide()
。それもうまくいかないようです。
アドオンSDKのバージョン1.10を使用しています。