0

次のコードを作成しようとしましたが、応答しないか、何か不足しているようです。

main.js - メインのアドオン コード

panel.port.on("request", function(){
     panel.port.emit("yes");
}

panel.js - コンテンツ スクリプト

self.port.emit("request");
self.port.on("yes", function(){ window.alert("yes"); });   

この種の通信を行うことは合法ですか? はいの場合、なぜ機能しないのですか?

ありがとう

エイデン

4

1 に答える 1

1

はい、許可されています。公式ドキュメントには、このスキームを使用した例さえあります。

はいの場合、なぜ機能しないのですか?

あなたの注文は間違っています。がすでに呼び出されたself.port.on("yes", ...)後にのみ呼び出しています。panel.port.emit("yes", ...)2 つのコンテンツ スクリプト行を切り替えると、機能するはずです。

于 2013-10-22T04:58:26.950 に答える