1

カスタムサイズの標準 Javascript ポップアップウィンドウを開く必要がある Firefox の拡張機能を開発しています。私は周りを見回しましたが、それを行う方法を理解できないようです。コンテキスト メニューのコードは正常に動作しますが、Firefox がwindow.openこれを達成するために必要なスニペットをブロックしているようです。

XUL やその他の SDK モジュールを介してそれを行う方法はありますか?

4

3 に答える 3

4

もう少し詳細が必要です。これがあなたの目的だと思います。

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コンテキストで機能しますが、どのコンテキストで機能していないのかわかりません。

これがお役に立てば幸いです。

于 2013-02-01T22:18:15.967 に答える
1

ポップアップ ウィンドウではなくパネルを開きたい場合の例を次に示します。

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();
  }
});

そして、いくつかの参照

于 2015-10-22T18:32:18.877 に答える
0

以下も使用できます。

`<popupset>
  <panel id="some">
  </panel>
<popupset>`

JavaScript で次のように記述します。

document.getElementById('some').openPopup(...)

于 2013-03-11T07:31:17.300 に答える