CoreAnimation 描画モデルを使用した OS X 用の NPAPI プラグインがあります。新しいウィンドウを開いてエラーやプラグイン情報 (「about」ウィンドウなど) を表示するにはどうすればよいですか?
1 に答える
技術的な答えは、標準の Cocoa フレームワーク呼び出しを使用してウィンドウを作成することです。NPAPI には、ウィンドウを作成するための規定がありません。
しかし、本当の答えは、そうすべきではないということです。NPAPI プラグインは、任意の UI を作成できるようにするためのものではありません。プラグインのリージョン (つまり、販売する CALayer) でのみ描画することになっています。メインのプラグイン レイヤーのサブレイヤーとして一時的に追加するオーバーレイとして情報を表示する必要があります。Apple は NPAPI プラグインの作成に関するドキュメントを持っていましたが、ウィンドウの作成はすべきでないこととして明示的に呼びかけていました。
NPAPI プラグインからウィンドウを作成すると、プロセス外でプラグインを実行するブラウザー (現時点ではこれがすべての主要なプラグインです) では、ウィンドウの動作が悪くなります。それらは、作成時に前面に表示される場合と表示されない場合があります。それらは、Exposé や [ウィンドウ] メニューには表示されません。また、誰かが command-` を使用してウィンドウを切り替えた場合にも表示されません。ユーザーがそれらを見失うと、それらを見つけて閉じるのが難しくなります。誰かが Dock でブラウザをクリックしても、それらは表示されません。
新しいプラグインで行う最善のことは、それを行わないことです。