アドオンビルダーツールを使用してFirefoxを拡張しました。拡張構造は次のようなものです。
メインアドオンコードは2つのコンテンツスクリプトを実行します(ドキュメントの実行時に1つ、準備完了状態に1つ)
コンテンツスクリプトの結果は、メインのアドオンコードに送信されます(「コンテンツスクリプトとアドオンコード間の通信」を使用)
メインのアドオンコードは、この情報をもう1つのコンテンツスクリプトに送信します。
コンテンツスクリプトは、ユーザーがウィジェットをクリックしたときに結果と表示の両方を追加します
例:
main.js(アドオンコード):
var data = require("self").data;
var paraPanel = require("panel").Panel({
contentScriptFile: data.url("combine.js")
});
require("page-mod").PageMod({
contentScriptWhen: 'start',
contentScriptFile: data.url("content-script1.js"),
onAttach: function (worker) {
worker.port.on("para1", function(message) {
msgfromscript1 = message;
});
}
})
require("page-mod").PageMod({
contentScriptWhen: 'ready',
contentScriptFile: data.url("content-script2.js"),
onAttach: function (worker) {
worker.port.on("para2", function(message) {
msgfromscript2 = message;
});
}
})
require("widget").Widget({
contentURL: data.url("crack_attack.png"),
onClick: function() {
paraPanel.port.emit("add-para", msgfromscript1,msgfromscript2);
paraPanel.show();
}
});
Combine.jsコード:
self.port.on("add-para", function(msgfromscript1,msgfromscript2) {
var result=msgfromscript1+msgfromscript2;
document.body.innerHTML = result;
});
Opera拡張機能と同じ機能を実装したい。Operaブラウザのクリック機能に基づいてこの通信と表示を行うにはどうすればよいですか?
私を助けるかもしれないドキュメントやOpera拡張機能の例はありますか?