親ブラウザからの Web リクエストをインターセプトする NPAPI プラグインを作成する方法はありますか? Chrome/Safari/IE/etc がhttp://google.com/などを要求していることを確認し、このクエリに対する独自の応答を提供したいと考えています。
2 に答える
NPAPIでは不可能です。拡張機能とプラグインを混同しているようです。
NPAPIを使用すると、ブラウザプラグインを作成できます。このプラグインは、ページに埋め込まれるか、フルページのコンテンツ表示に使用され、コンテンツまたはスクリプト機能を提供します。最も重要なことは、プラグインをページに明示的に埋め込むか、特定のmimeタイプ用にロードする必要があり、プラグインの存続期間を制御できないことです。
一方、拡張機能はブラウザを拡張し、特定のページコンテンツに関係なくアクティブな状態を維持し、ナビゲーションなどのイベントをキャッチできます(詳細はブラウザが提供する拡張機能APIによって異なります)。
私の知る限り、npapi ではこれを行うことはできません。まず、ブラウザがプラグインを使用するコンテンツは、MIME タイプのみに基づいています。
次に、ブラウザーがプラグイン X を使用して何かを表示することを決定すると、API は、ユーザー (プラグイン) が実際にコンテンツを表示したくないことをブラウザーに伝える方法を提供しません。プラグイン内にブラウザ全体を実装することはうまくいくかもしれませんが、非常にやり過ぎに思え、間違いなく多くの注意点があります。
私があなただったら、chrome/safari/Firefox の拡張機能を見ていると思います