1

Firefoxのアドオン開発で問題が発生しました。

[症状]:Firefoxアドオンバーのパネルページからメッセージを受信できません。メッセージはpanel.htmlのiframeから送信されます。

これが私のコードです:

/ *ファイル[popup.html]*///本文にiframe要素を追加します。

   iframe src="http://localhost/hello.html"

/ *ファイル[popup.js]に*///リスナーを追加します

   window.addEventListener("message", 
    function(event) {
        console.log("popupJS Receive Event from WebPage(" + event.origin);      
        console.log(event);
        //alert(event);
    });

/ *リモートページhello.html* ///をクリックしてメッセージを送信します。 強調されたテキスト

   window.postMessage({ type: "FROM_PAGE", text: "Hello from the webpage!" }, "http://dicrectpass.com");

===== >>しかし、それでもiframeからメッセージを受信できません!! なんで?

4

1 に答える 1

1

私は同じ問題を抱えていました。その後、Panel コンストラクター経由ではなく、読み込んでいた HTML ドキュメント内から Javascript をインクルードしていることに気付きました。それを切り替えると、うまくいきました。

パネル参照

var pnl = panel.Panel({
    width: 300,
    height: 300,
    contentURL: self.data.url('popup.html'),
    contentScriptFile: [
        self.data.url('jquery.js'),
        self.data.url('popup.js')
    ],
    onMessage: function(message) {
        console.log(message);
    }
});
于 2014-03-23T19:31:01.843 に答える