Chrome、Safari、Operaなどのブラウザ用のブラウザプラグインを作成する手順について知りたいです。私はここで特にWindowsについて考えており、C++での作業を好みます。
プロセスを詳しく説明するツールやチュートリアルはありますか?
注:拡張機能や「アドオン」については言及していません。FlashやAdobeReaderに特定のコンテンツタイプを処理するプラグインがあるのと同じようなプラグインを指します。
Chrome、Safari、Operaなどのブラウザ用のブラウザプラグインを作成する手順について知りたいです。私はここで特にWindowsについて考えており、C++での作業を好みます。
プロセスを詳しく説明するツールやチュートリアルはありますか?
注:拡張機能や「アドオン」については言及していません。FlashやAdobeReaderに特定のコンテンツタイプを処理するプラグインがあるのと同じようなプラグインを指します。
他の人が指摘しているように、これらのブラウザのプラグインはNPAPIを使用して作成されています。
注:FirefoxとChromeはどちらも、ほとんどのプラグインをすぐにクリックして再生するようにデフォルト設定され、ChromeはNPAPIを完全に段階的に廃止する予定です。現時点では、新しいプロジェクトのNPAPIは推奨されていません。
NPAPIを開始するためのリソース:
ただし、NPAPI自体は比較的低レベルですが、それを支援するツールとフレームワークがあります。
私はGeorgによってリストされたいくつかのフレームワークを調査しました、これが私が得るものです:
FireBreath。私はそれが利用可能なほとんど最高のものだと思います。数日でFireBreathを使用してクロスプラットフォームブラウザプラグインを作成できます。私はいくつかの短所を見つけました:それはWindowsでutf-8文字をサポートしていません。例:ファイル名に漢字が含まれている場合、そのファイルの内容を読み取ることはできません。ブースト/ロケールでこの問題を解決できると思います。ただし、FireBreathにはブースト/ロケールは含まれていません。はい、外部ブーストを使用できますが、構成と調整に数日を費やしましたが、それでもWindowsでコンパイルできません。著者はcmakeを使用してコードとサブプロジェクトを整理します。そして、彼は多くのbatまたはshellスクリプトとcmakeマクロを作成しましたが、理解して構成するのは非常に困難です。つまり、FireBreathが現在提供していないものが必要な場合は、運が悪くなり、新しい機能を追加するのは非常に困難です。
Nixysa。積極的に開発されているとは思いません。ドキュメントが貧弱です。そして、wikiページのコメントから:https ://code.google.com/p/nixysa/wiki/HelloWorldWalkThruユーザーはまったく助けを得ることができず、Windowsでの実行に問題があったことがわかります
ジュース。ブラウザプラグインを作成するために特別なものではありません。Linuxはサポートしていません。著者は、NPAPIがなくなると考えているため、Linuxをサポートしたり、新しい機能を追加したりする予定はありません。
QtBrowserPlugin。QT4.5以降のドキュメントでは見つかりません。言い換えれば、それは維持されていません(そしてQt5.0から削除されています)
さらに見つけたら、この回答を更新します。
更新:ChromeはNPAPIサポートを廃止しました。ブラウザからのサポートがないため、将来的にはC++でプラグインを作成することがますます難しくなると思います。
Netscapeベースのブラウザ、Chrome、Safari、OperaなどのブラウザはNPAPIプラグインシステムを使用しています。https: //developer.mozilla.org/en/Pluginsとhttp://code.google.com/でNPAPIプラグインの作成方法を学ぶことができます。 chrome / extends / npapi.html
Qtをご存知の場合は、ブラウザプラグインの実装を容易にするクラスがいくつかあります。