2011-07-14 7 views
2

http://doc.qt.nokia.com/4.7-snapshot/qtwebkit-bridge.htmlとすると、QtのQObjectをブラウザ内のglabal JSオブジェクトとして公開することができます。ネイティブ機能の公開や新しいヘルパーAPIの公開に役立ちます。現在、QtWebkitはJavaScriptCoreの上にQtWebkitブリッジを実装しています。GoogleのV8 JSエンジンでJavaScript拡張機能を追加することは可能ですか?

GoogleのV8 JSエンジンでネイティブC++/Cオブジェクト/構造を公開する方法はありますか?

答えて

5

はい。私がapi.hによって操作されていると信じているv8::Extensionを伸ばしているhttp://code.google.com/p/v8/source/browse/trunk/src/extensions/?r=8431の例を見てください。

また、V8に公開するオブジェクトを作成し、property interception経由でオブジェクトへのプロパティアクセスを傍受することもできます。

+0

ありがとう、これについて知りませんでした。 – hplbsh

+0

これはppapi/pnacl/naclにはまだ存在しますか?私の目標では、javascript環境が直接呼び出せるネイティブオブジェクトを作成する必要があります。私の仕事ではメッセージの受け渡しができません。 –

0

V8エンジンはChromium内でデフォルトでサンドボックス化されているため、プラグインをV8拡張モジュールよりも作成することをおすすめします。つまり、拡張機能はサンドボックスから外部リソースにアクセスすることはできません。 FireBreathなどの一部のライブラリは、NPAPIプラグインの作成を容易にする場合があります。

+0

このhttp://code.google.com/apis/v8/intro.html – SunnyShah

+0

@SunnyShahをご覧ください。これはまったく役に立たないものです。 – hplbsh