Windows 上で C++ FireFox 3 プラグイン (拡張機能ではない) を作成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/62977

  •  09-06-2019
  •  | 
  •  

質問

誰かが Windows 上の FireFox 用の C++ ベースのプラグインを開発するためのステップバイステップ ガイドを書いてくれませんか?

のリンクと例 http://www.mozilla.org/projects/plugins/ すべて古くて不正確です。「新規」リンクは 2004 年にページに追加されました。

例としては何でも構いませんが、JavaScript で名前を設定して「Hello {Name}」と表示するプラグインを考えていました。双方向のコミュニケーションを示すために、完全な挨拶を返すプロパティを含めることができます。

それほど重要ではありませんが、プラグインが Chrome でも動作すると便利です。

役に立ちましたか?

解決

こちらも参照 http://developer.mozilla.org/en/Plugins 。はい、NPAPI プラグインは Google Chrome でも動作するはずです。

[2015年編集:Chrome は NPAPI のサポートを間もなく削除します http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html ]

他のヒント

クロスブラウザー (Firefox と IE) で動作するものが必要な場合は、firebreath を検討してください。 http://www.firebreath.org

「Windows で npapi プラグインを構築する方法」に関する一般的な情報については、このテーマに関するブログ投稿がいくつかあります (上記のソースの一部からもリンクされています)。

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

ただし、私は Firebreath を本当にお勧めします。これは、すべてがどのように機能するかを理解するのに (文字通り) 何ヶ月も費やした研究を行う時間がない人のためにまさに Firebreath を作成したからです。ただし、これをプラグインのベースとして使用したくない場合でも、優れたサンプル コードが数多く見つかります。

Windows 上の Chrome、Firefox、Safari でも動作するはずです。=]

幸運を!

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

そのセットから実装する主要な関数は、NPP_New と NPP_Destroy です。これらはプラグイン インスタンスのライフサイクルを定義します。<object> または <embed> からリンクされたメディア ファイルを処理する場合は、プラグインがファイルのデータをブラウザ。他にもたくさんあります Gecko プラグイン開発者ガイド.

ニクシサをチェックしてみよう http://code.google.com/p/nixysa/. 。Mozilla SDK でサンプルをビルドしようとしましたが、ビルドするのが困難でした。Nixysa サンプルは簡単に構築できます。さらに、コードは NPAPI を直接使用するよりもはるかにすっきりしています。唯一の欠点は、現時点では Nixysa に関する文書が十分に整備されていないことです。必要に応じて、コールバックを実装する Nixysa サンプルがあります (準備ができたら、Nixysa にパッチを提出する予定です)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top