2013-10-22 28 views
0

我試着編寫以下但似乎反應遲鈍還是我失去了一些東西:Firefox的插件 - port.emit內port.on

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

這種類型的通信是否合法?如果是,爲什麼它不起作用?

感謝

艾登

回答

1

是的,這是允許的。使用此方案的the official documentation中甚至有例子。

如果是的話爲什麼它不起作用?

您的訂單有誤。只有在panel.port.emit("yes", ...)已被調用後,纔會調用self.port.on("yes", ...)。切換兩個內容腳本行,並應該工作。