3

私はJavaScriptとV8の両方が初めてです。Google の Embedder's Guide によると、組み込みのユーティリティ javascript 関数について説明しているコンテキスト セクションを見つけました。また、ダウンロードしたソースコードの中にいくつかの .js ファイル (例: math.js) を見つけたので、これらのファイルの関数を呼び出す簡単なプログラムを作成しようとしましたが、失敗しました。

  1. によって作成されたコンテキストにPersistent<Context> context = Context::New()は、組み込みの js 関数がありますか? どうすればアクセスできますか?

  2. 最初に既存の js ファイルをライブラリ (HTML ページの src="xxx" type="text/javascript" のようなもの) としてインポートしてから、独自の実行スクリプトを実行する方法はありますか?

  3. アプリに埋め込まれた V8 ライブラリを介して Google マップ API を呼び出すことはできますか? どのように?

4

3 に答える 3

1

3.Google マップには、完全なブラウザ DOM (または、少なくとも XMLHttpRequest だと思います) が必要です。Javascript ライブラリだけから使用することはできません。

于 2010-03-12T22:54:40.237 に答える
0

v8 は無料で Math.* 関数を提供すると思います。

ただし、他の JavaScript ファイルをロードするなど、他のすべてを自分で実装する必要があります。shell.ccには、探している機能がいくつか含まれています。

マップ API に関しては、本格的なレンダリング エンジンと JavaScript エンジンの組み合わせが必要になると思います。Webkitまたは Webkit を埋め込んで使用できるものを調べたほうがよいかもしれませんが、私には言えません。

于 2011-01-23T07:13:30.210 に答える
0

たとえば、 --allow_natives_syntax または --expose_natives_as オプションを使用できます。
以下は、src/math.js でランダムに選択された MathLog の例です。

最初にシェルをコンパイルします

$ scons d8 -j8

次に --expose_natives_as を使用します。

$ ./d8 --expose_natives_as nat
V8 version 3.12.7 (candidate) [console: dumb]
d8> nat.MathLog(100)
4.605170185988092

または --allow_natives_syntax を「%」接頭辞とともに使用します:

$ ./d8 --allow_natives_syntax
V8 version 3.12.7 (candidate) [console: dumb]
d8> %MathLog(100)
4.605170185988092
于 2012-07-04T15:21:52.650 に答える