0

現在addon builderを使用して開発中の Firefox 拡張機能で、新しいタブでページを開き、このページのスクリプトで定義された JS 関数を呼び出したいと思います。これには、次のコードを使用します。

var toOpenTab = require("tabs");
toOpenTab.on('open', function(tab){
    toOpenTab.on('ready', function(tab){
        tab.attach({
            contentScript:
                "function showFile(){PageSpecificFunction()};window.onload=showFile();"
        });

    });

});

window.onload イベントを実装して、PageSpecificFunction() 定義を含むスクリプトがページに確実に読み込まれるようにします。必要ではないと思いますが (toOpenTab.onReady イベントを使用しているため)。

問題は: PageSpecificFunction() is not definedです。関数が正しく定義されており、firebug コンソールで呼び出すことができ、完全に機能するため、正常に機能することがわかっています。

ページが開いたら、拡張機能でこの関数を呼び出す方法はありますか?

4

1 に答える 1

1

unsafeWindowグローバルオブジェクトを使用する必要があります。

unsafeWindow.PageSpecificFunction();

ただし、これはセキュリティ上のリスクです

于 2012-08-31T13:28:15.860 に答える