2008-09-15 10 views
9

WindowsでFireFox用のC++ベースのプラグインを開発するためのステップガイドを書くことができますか? http://www.mozilla.org/projects/plugins/Windows上にC++ FireFox 3プラグイン(拡張子ではありません)を書き込む方法は?

リンクや例すべての古いと不正確である - 「NEW」リンクは、2004年

内のページに追加された例は何でもかまいませんが、私にはJavaScriptを有効に設定することができますプラグインを考えていました「Hello {Name}」と表示されます。双方向コミュニケーションを示すために、完全な挨拶を返すプロパティを持つことができます。

重要なことではありませんが、プラグインがChromeでもうまくいけばいいでしょう。

答えて

3

NPAPIを使用してプラグインを作成するのはかなり簡単です。 Geckoの配布から必要となる主要なヘッダファイルは、npapi.hとnpupp.hです。 NP_Initialize、NP_Shutdown、NP_GetMIMEDescription、およびNP_GetValueという名前のプラグインDLLまたは共有ライブラリから関数をエクスポートします。また、すべてのNPPのハンドラを使用してNP_Initialize呼び出しで指定されたシンボルテーブルにも記入する必要があります機能。

このセットから実装する主な機能は、NPP_NewとNPP_Destroyです。それらはプラグインインスタンスのライフサイクルを定義します。 <オブジェクト>または<埋め込み>からリンクされたメディアファイルを処理する場合は、プラグインがファイルのデータを取得する方法として、NPP_NewStream、NPP_WriteReady、NPP_Write、NPP_DestroyStreamも処理する必要がありますブラウザ。 the Gecko Plugin developer's guideにはもっとたくさんのものがあります。

2

はNixysa http://code.google.com/p/nixysa/をチェックしてください。私はMozilla SDKでサンプルをビルドしようとしましたが、ビルドするのは難しかったです。 Nixysaのサンプルは簡単に作成できます。さらに、コードはNPAPIを直接使用するよりはるかに綺麗です。唯一の欠点は、今日の時点ではNixysaが十分に文書化されていないことです。私はあなたがそれを望むならコールバックを実装するNixysaのサンプルを持っています(Nixysaへのパッチを提出する予定です)。情報の「WindowsでのNPAPIプラグインを構築する方法」の一般用http://www.firebreath.org

、私はいくつかのブログの記事があります。

+0

拡張機能として試しましたか?私はまだビルドする* 1つの* NPAPI Visual Studioソリューションを見つける必要がありません!もしあなたがまだそれを持っていれば、あなたが持っているコードと、それをビルドする方法を見たいのですが... nixysaには、例えば "複雑な"ソリューションファイルがありますが、コンパイルもしません。スコーンを使用するとコンパイルが実行されますが、dllがコンパイルされていないと、不足しています(?)、Chromeはプラグインのメソッドを見つけられません。ありがとう。 – Ciantic

6

あなたはクロスブラウザ(FirefoxとIE)作品何かが必要な場合は、firebreathで見ることができます被写体に我々は数ヶ月をする時間を持っていない人のために、正確に、それを作成したので、私は本当に文字通り(ただし、firebreathお勧めします

http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/

(上記のソースの一部として井戸からにリンクされています)私たちはそれがどのように機能するかを理解することが必要でした。しかし、あなたのプラグインの基礎としてそれを使用したくない場合でも、ここで多くの良いサンプルコードを見つけることができます。

は、クロム、ファイアウォール、およびサファリでも動作します。 =]

幸運!

+0

うわー、バディ、あなたはちょうど私のベーコンを保存しました、信じられないほどのAPIとオールラウンドの英雄的な貢献のおかげで。 –

関連する問題