Firefoxのアドオン開発の初心者です。Firefoxのアドオンでmain.jsからコンテンツスクリプト関数を呼び出す方法
firefoxアドオンのmain.jsからcontentscript関数を呼び出す方法が必要です。
私はすべてのオープニングウェブページにcontentscript xyz.jsを注入しました。
ナビゲーションツールバーにあるボタンをクリックすると、私のcontentscript xyz.jsに存在する関数abc()がmain.jsから呼び出されます。
以下は私のコードです。私はそのメッセージパッシングを知るようになった
Main.js
..
function addToolbarButton() {
var document = mediator.getMostRecentWindow('navigator:browser').document;
var navBar = document.getElementById('nav-bar');
if (!navBar) {
return;
}
var btn = document.createElement('toolbarbutton');
btn.setAttribute('id', 'mybutton-id');
btn.setAttribute('type', 'button');
btn.setAttribute('class', 'toolbarbutton-1');
btn.setAttribute('image', data.url('icon_16.png'));
btn.setAttribute('orient', 'vertical');
btn.setAttribute('label', 'Test');
btn.addEventListener('click', function() {
tabs.activeTab.attach({
//
abc() //here i want to call the function present in my contentscript
//
});
}, false)
navBar.appendChild(btn);
}
..
xyz.js
..
function abc(){
//here is my code logic
}
..
そうする方法が、Firefoxで実装することができません。
私はstuckdを持っているのを助けてください。
これは非常によくある質問です。再回答するのではなく、標準的な回答にリンクする必要がありますか? – canuckistani
@canuckistani:正式な回答はありますか?私の答えはRTFMを拡張したものです。しかし、たいていの場合、SDKのメッセージングアプローチを心がけることができないのは、大抵の人です。私はこれらの質問を重複として終わらせることに全部なりますが、それと似た質問は決してありません。 –
私はこれらの質問の最近の歴史を見直し、同意します。右の方向にそれらを指すために忍耐力を持っていただきありがとうございます。 – canuckistani