0

スクリプト可能な NPAPI プラグインを開発しました。Chrome/Firefox で 1 つのインスタンスを読み込もうとすると、Web ページ (Web ページ A) とその JavaScript との通信に問題はありません。しかし、プラグインが埋め込まれた新しいページ (Web ページ B) を開くと、Web ページ B ではなく Web ページ A と通信したいと考えています。

これは、エントリポイントが既に設定されており、正しいインスタンスにリセットする必要があるためでしょうか?

ありがとう

4

1 に答える 1

1

エントリポイントは、あなたが話していることには影響しません。ほとんどの場合、NPP インスタンスを正しく追跡していないか、グローバルであってはならないものがあります。

基本的なエントリポイントはインスタンス固有ではありません。NPP_* 関数を見ると、インスタンスに固有のすべての関数が最初のパラメーターとして「NPP」を取ります。通常、NPP の pdata フィールドにある種のデータ構造へのポインターを保持し、それを使用して異なるインスタンスを区別する必要があります。これを正しく行っていない場合、またはインスタンス固有のグローバル変数または静的変数を別の場所に保存している場合、これらすべてが説明した問題を引き起こす可能性があります。

FireBreathまたはNixysaの使用を検討することをお勧めします。1 つ目は NPAPI のほとんどの問題を抽象化し、IE サポートも提供します。2 つ目は、API を使用してスケルトンを生成できるため、他のコードを埋めて、既に機能しているものから始めることができます。

NPP 構造がどのように機能するか、および異なるインスタンスをどのように区別するかについての詳細は、http://npapi.com/tutorial2を参照してください。

于 2012-02-28T06:25:48.760 に答える