2010-03-12 2 views
3

Я новичок и в javascript, и в V8. Согласно руководству Google Embedder's Guide, я увидел что-то в context section, в котором рассказывается о встроенных функциях javascript. И я также нашел некоторые .js-файлы (например, math.js) в загруженном исходном коде, поэтому я попытался написать простую программу для вызова функций в этих файлах, но я потерпел неудачу.Как использовать встроенные функции V8

  1. ли создан контекст по Persistent<Context> context = Context::New() имеет какой-либо встроенные функции JS? Как я могу получить к ним доступ?

  2. Есть ли способ импортировать существующие файлы js в виде библиотеки (что-то вроде src = "xxx" type = "text/javascript" на странице HTML), а затем запустить собственный скрипт запуска?

  3. Можно ли назвать google-карты api через встроенную библиотеку V8 в приложении? Как?

ответ

1

3. Google Maps необходим полный браузер DOM (или по крайней мере XMLHttpRequest я думаю), вы не можете использовать его из просто библиотеки Javascript.

+0

Большое спасибо. Я вижу, что DOM (например, XMLHttpRequest) - это встроенный в браузер объект, который javascript может использовать для чего-то, поэтому кажется, что единственный способ - это импортировать библиотеку браузера? –

0

Я думаю, что v8 дает вам функции Math. * Бесплатно.

Вам нужно реализовать все остальное самостоятельно, например, загружать другие файлы javascript. shell.cc имеет некоторые функции, которые вы, возможно, ищете.

Что касается API-интерфейсов карт, я считаю, что для этого вам понадобится полнофункциональный комбо-движок рендеринга/javascript. Вам может быть лучше взглянуть на Webkit или что-то, что вы можете использовать для встраивания Webkit для того, что вы хотите сделать, я не могу сказать.

0

Вы можете использовать, например, опцию --allow_natives_syntax или --expose_natives_as.
Ниже приведены примеры с MathLog выбрали случайным образом в SRC/math.js:

Сначала составить оболочку с

$ 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 
Смежные вопросы