2010-03-12 6 views
3

Je suis nouveau dans javascript et V8. Selon le Guide de l'intégrateur de Google, j'ai vu quelque chose dans le context section parlant des fonctions javascript de l'utilitaire intégré. Et j'ai également trouvé des fichiers .js (par exemple math.js) dans le code source téléchargé, donc j'ai essayé d'écrire un programme simple pour appeler des fonctions dans ces fichiers, mais j'ai échoué.Comment utiliser les fonctions intégrées du V8

  1. Est-ce que le contexte créé par Persistent<Context> context = Context::New() ont une des fonctions intégrées js? Comment puis-je y accéder? Y at-il un moyen d'importer d'abord des fichiers js existants en tant que bibliothèque (quelque chose comme src = "xxx" type = "texte/javascript" dans la page HTML), puis exécuter mon propre script d'exécution? Puis-je appeler api Google Maps via la bibliothèque V8 intégrée dans l'application? Comment?

Répondre

1

3. Google Maps a besoin d'un navigateur complet DOM (ou au moins XMLHttpRequest je suppose), vous ne pouvez pas l'utiliser à partir juste une bibliothèque Javascript.

+0

Merci beaucoup. Je peux voir le DOM (par exemple XMLHttpRequest) est un objet intégré d'un navigateur que javascript pourrait utiliser pour se comporter quelque chose, donc apparemment le seul moyen est d'importer la bibliothèque d'un navigateur? –

0

Je pense que v8 vous offre les fonctions Math. * Gratuitement.

Vous devez cependant implémenter tout le reste, comme le chargement d'autres fichiers javascript. shell.cc a certaines des fonctions que vous pourriez rechercher. En ce qui concerne l'API de cartes, je crois que vous auriez besoin d'un moteur de rendu complet/combo moteur javascript pour cela. Vous feriez peut-être mieux de regarder Webkit ou quelque chose que vous pouvez utiliser pour intégrer Webkit à ce que vous cherchez à faire, je ne peux pas vraiment le dire.

0

Vous pouvez utiliser par exemple l'option --allow_natives_syntax ou --expose_natives_as.
Voici des exemples avec MathLog choisis au hasard dans src/math.js:

Première compilation avec une coquille

$ scons d8 -j8 

Ensuite, utilisez --expose_natives_as:

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

ou de l'utilisation - allow_natives_syntax avec le préfixe '%':

$ ./d8 --allow_natives_syntax 
V8 version 3.12.7 (candidate) [console: dumb] 
d8> %MathLog(100) 
4.605170185988092 
Questions connexes