GreasemonkyスクリプトをFirefoxの拡張機能に変換しようとしていますが、新しいタブを開いたときに拡張機能を自動的に任意のWebページに添付しようとしています。高度な設定とメニューオプションを利用したいので、私はGreasemonkeyからスクリプトを変換しています。新しく開いたタブのウィンドウオブジェクトにどうやってアクセスできますか? [firefox extension内]
私はこの使用してタブにアクセス:
var container = gBrowser.tabContainer;
container.addEventListener("TabOpen", tabAdded, false);
function tabAdded(event) {
var newtabwindow = event.target.____ //I don't know what goes here
//attach script to newtabwindow
}
をし、私の目標は、それがこの機能を使用してロードしたら、新しいタブでドキュメントにスクリプトを追加することです:
function scriptrunner(targetwindow) {
var myScript = targetwindow.content.document.createElement('script');
myScript.type = 'text/javascript';
myScript.setAttribute('src','chrome://addonname/content/addonscript.js');
targetwindow.content.document.getElementsByTagName('head')[0].appendChild(myScript);
}
この関数の動作oncommand = "scriptrunner(window)"を指定してツールバーボタンにアタッチしたときにスクリプトを現在のページにアタッチすることはできますが、新しく開いたタブでどのようにウィンドウにアクセスできるかわかりません。式からウィンドウを開き、別の方法で文書にアクセスします。
'var newtabwindow = event.target;'は動作しませんか? – Sukima
あなたの説明からは、Mozillaの[アドオンSDK](https://addons.mozilla.org/en-US/developers/docs/sdk/latest/)がその仕事に適しているようです。 [page-mod](https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/page-mod.html)を使用して、任意のWebページにコンテンツスクリプトを添付することができますURLがパターンと一致するか、[tabs](https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/tabs.html)モジュールを使用してください。 – ZER0