カスタムサイズの標準 Javascript ポップアップウィンドウを開く必要がある Firefox の拡張機能を開発しています。私は周りを見回しましたが、それを行う方法を理解できないようです。コンテキスト メニューのコードは正常に動作しますが、Firefox がwindow.open
これを達成するために必要なスニペットをブロックしているようです。
XUL やその他の SDK モジュールを介してそれを行う方法はありますか?
カスタムサイズの標準 Javascript ポップアップウィンドウを開く必要がある Firefox の拡張機能を開発しています。私は周りを見回しましたが、それを行う方法を理解できないようです。コンテキスト メニューのコードは正常に動作しますが、Firefox がwindow.open
これを達成するために必要なスニペットをブロックしているようです。
XUL やその他の SDK モジュールを介してそれを行う方法はありますか?
もう少し詳細が必要です。これがあなたの目的だと思います。
require("sdk/context-menu").Item({
label: "Open Window",
contentScript: 'self.on("click", function (node, data) {' +
' window.open("http://stackoverflow.com/questions/14572412/how-to-open-a-popup-window-via-firefox-addon-contextual-menu");' +
'});'
});
このコードは、ユーザーが [ウィンドウを開く] 項目をクリックすると、新しいウィンドウ (またはタブ) を開きます。関数はこのwindow.open
コンテキストで機能しますが、どのコンテキストで機能していないのかわかりません。
これがお役に立てば幸いです。
ポップアップ ウィンドウではなくパネルを開きたい場合の例を次に示します。
var self = require("sdk/self");
var panels = require("sdk/panel");
var panel = panels.Panel({
contentURL: self.data.url("panel.html")
// , onHide: handleHide
});
require("sdk/context-menu").Item({
label: "Open Window",
contentScript: 'self.on("click", function (node, data) {' +
' self.postMessage(node.innerHTML);' +
'});',
onMessage: function (data) {
console.log('posted retrieved: '+data);
panel.show();
}
});
そして、いくつかの参照
以下も使用できます。
`<popupset>
<panel id="some">
</panel>
<popupset>`
JavaScript で次のように記述します。
document.getElementById('some').openPopup(...)