2011-07-02 7 views
0

UIを持つはずのNPAPIプラグインを作成しています(Javascriptからのみ使用できます)。できるだけ多くのブラウザ(およびブラウザのバージョン)をサポートするために、どのウィンドウ処理モデル(ウィンドウ/ウィンドウなし/ xembed)を使用する必要がありますか?NPAPI:非ビジュアルプラグイン用の望ましいウィンドウイングモデル(ウィンドウ/ウィンドウなし/ xembed)

私は現在、以下の機能を実装します。

  • NPP_SetWindowNPERR_NO_ERROR
  • NPP_Eventを返し、何もしない:何もしないkNPEventNotHandled(0)
  • NPP_SetValueを返します。何もしない、NPERR_NO_ERROR
  • を返しますNPP_GetValueNPPVpluginNeedsXEmbedを要求された場合は、ブラウザでサポートされている場合は「はい」と答えてください(NPNVSupportsXEmbedBool)、他にはありませんe

このプラグインでは、現在のところ、Linux & Windowsのみをサポートしています。 NPPVpluginNeedsXEmbedChrome on Linux (bug 38229)のために必要でしたが、一部の古いバージョンではサポートされていない可能性があります。the MDC pageは、XEmbedのサンプルプラグインがFirefox 2.0以降でのみサポートされているという。

答えて

2

私が見てきた最も一般的なのは、ウィンドウモードについて気にせず、オブジェクトタグを1x1に設定することです(0x0を試すことができますが、それに関連するブラウザのバグを見たことがあります)実際にどのウィンドウモードを使用しても問題ありません。しかし、通常のウインドウ(XEmbedかどうか)のプラグインが提供する他のすべてのDOM要素に浮かぶような商標ブロックを引き起こすことはないので、私は窓なしで自分自身をやります。

FB_GUI_DISABLEDフラグが設定されている場合、これはFireBreathの動作です。

+0

1x1サイズについてのおかげでありがとう。私にそれを見つけ出す手間を省く方法:)。どのブラウザのバージョンがX11でウィンドウレスをサポートしているか知っていますか? – lmz

+1

私が知っている限り(それは合理的に現在のことです)しかし、最悪のケースでは、窓なしにするように指示するとエラーになります。そのエラーはウィンドウモードに強制します。プラグインのサイズを小さくしたいと思っているので、おそらく大きな問題ではありません。 – taxilian

関連する問題