2

OS X 用の古い NPAPI プラグインがあり、Snow Leopard のバージョンの Safari で使用できるように改造しようとしています。私の問題は、Safari を 64 ビット モードに切り替えると、プラグイン環境がアウト プロセス モード (プラグインが 32 ビット WebKitPluginHost プロセスによってホストされる) に変更されることです。そして今、私のツールバー パレットは画面上に表示されていません。ドキュメントには、ウィンドウを表示することは推奨されていないと書かれていますが、禁止されているわけではありません。Windows を立ち上げるためにできることはありますか?

4

3 に答える 3

3

最も信頼できる解決策は、おそらく何らかの IPC メカニズムを介してプラグインに接続されている別のアプリケーションに、Appleを実行させることです。

ウィンドウの作成は避けてください。これは、プラグインがブラウザ ウィンドウ内で動作することを目的としています。一部のプラグインは歴史的にそうしてきましたが、プラグインでウィンドウを作成することはお勧めしません。別のウィンドウを維持する必要がある場合は、別のアプリケーションを開始することを検討してください。

プラグインからのウィンドウの起動は、状況によっては機能し、別の状況では完全に壊れる場合があります。そうしないことを推奨することにより、Apple はいつでも以前に動作していた動作を自由に変更できます。

于 2010-04-05T07:45:22.163 に答える
1

残念ながら、おそらくそうではありません。通常のグラフィックス ライブラリ (CoreAnimation、Cocoa など) を使用して実行できないことを行う場合、64 ビット サファリで 32 ビット プラグインを使用してもおそらく実行できません。

ただし、プラグインを 64 ビット モードでコンパイルすると、さらに多くのことができる場合があります。知らない :-/

于 2010-03-14T00:34:00.297 に答える
0

私は少し遅れていることを知っています。Safari では、プラグインで NSPanel を表示できません。代わりに NSWindow を使用してみてください。Apple が同意しないことはわかっています。

メニューを表示するには、「popupcontextmenu」を使用できます。NSMenu 型キャストされた NPNSMenu を取ります。

于 2011-10-05T12:20:21.907 に答える