組み込みネイティブ ブラウザ (Linux) 用の NPAPI プラグインを開発しています。プラグインでコールバック関数を呼び出す javascript からのコールバック関数が 1 つ必要です。キーボードのキーを押すことによって生成されるイベントに従って。イベントを継続的にブラウザ ウィンドウに送信する必要があります。私はこれに完全に慣れていないので、助けが必要です。
前もって感謝します 。
組み込みネイティブ ブラウザ (Linux) 用の NPAPI プラグインを開発しています。プラグインでコールバック関数を呼び出す javascript からのコールバック関数が 1 つ必要です。キーボードのキーを押すことによって生成されるイベントに従って。イベントを継続的にブラウザ ウィンドウに送信する必要があります。私はこれに完全に慣れていないので、助けが必要です。
前もって感謝します 。
FireBreath を使用している場合は、イベントの発生に関するドキュメントで既に説明されています。
プレーンな NPAPI プラグインを作成している場合、プラグインはaddEventListener(type, listener, ...)
&を実装する必要がありますremoveEventListener()
。
スクリプト可能な関数をプラグインに追加する方法は既に知っているので、これら 2 つのサポートを追加するだけです。
addEventListener()
次の引数を取得します。
type
- イベントを識別する文字列である必要がありますlistener
- オブジェクトである必要があり、保持および保存しますuseCapture
- 存在しない場合は、オプションのブール値である必要がありますfalse
リスナーを格納するには、たとえばmultimap<SomeStringType,NPObject*>
、イベント文字列をキーとして、リスナー オブジェクトを値としてメンバーを使用できます。リスナーを保持することを忘れないでください。
イベントを発生させるには、そのイベントの を取得し、リスナー オブジェクトequal_range()
で使用します。NPN_InvokeDefault()
removeEventListener()
と同じ引数を受け取り、そのイベント文字列に対して指定されたリスナーを指定addEventListener()
する必要があります。リスナー オブジェクトを解放erase()
することを忘れないでください。
上記を尊重useCapture
するために、それに応じて拡張します。