2011-09-17 12 views
0

Firefox拡張機能でNPAPIプラグインを読み込むのに問題があります。私が今やっているのはプラグインが既にWindowsに登録されているので、window.onload経由でアクセスされるクロム&に埋め込まれたオーバーレイを介して埋め込み要素を読み込みます。明らかにNPAPI要素がロードされていますが、ネイティブ関数にはアクセスできません。ここでFirefox拡張機能でNPAPI関数にアクセスできない

は私main.xulです:

<overlay ...> 
    <window id="main-window"> 
    <embed type="application/x-myplugin" id="myplugin" width="300" height="300"></embed> 
    </window> 
</overlay> 

私はクロームに挿入された埋め込みを見ることができるように、私は幅/高さの値を設定します。ここで

は私のjsです:

window.addEventListener("load", function() { 

    var plugin = document.getElementById("myplugin"); 
    dump(plugin + "\n"); 
    dump("version: " + plugin.version + "\n"); 

}); 

ダンプ:

[object XULElement] 
undefined 

同じ埋め込みコードをHTML文書の中に入れた場合、plugin.versionは "1000" を返します。 NPAPIプラグインは、HTMLドキュメントで動作し、Chrome拡張機能で読み込まれるようになったので、動作確認されました。

私が間違っていることはありますか? Webページとは別のダイアログボックスからプロパティを取得する必要があるため、NPAPIプラグインをクロムの内側にロードする必要があることに注意してください。おそらく、Firefox拡張機能から呼び出すことができるブラウザーの負荷ごとに1回ロードできるNPAPIプラグインをロードする別の方法があります。

もし何か助けがあれば、NPAPIはFirebreathフレームワークで構築されました。

注:私はこのスレッドに続いてlinkと表示されていますが、明らかにプラグインがロードされていますが、まだどの機能にもアクセスできません。

ありがとうございました。

答えて

1

XULには<embed>タグがありません。これは、HTML <embed>タグを使用することを意味します。

<embed xmlns="http://www.w3.org/1999/xhtml" ...></embed> 

追加情報:このタグのHTMLの名前空間を使用しhttps://developer.mozilla.org/en/Namespaces

+0

どうもありがとう!それがそれを解決しました。 –

関連する問題