如何使用V8的内置函数
我对 javascript 和 V8 都是新手。根据 Google 的 Embedder's Guide,我在上下文部分中看到了一些内容关于内置实用 JavaScript 函数。而且我还在下载的源代码中发现了一些.js文件(例如math.js),因此我尝试编写一个简单的程序来调用这些文件中的函数,但失败了。
是否由
Persistent
有内置的js函数吗?我如何访问它们?创建的上下文? context = Context::New() - 办法首先将现有的js文件导入为库(例如HTML页面中的src =“xxx”type =“text/javascript”),然后运行我自己的执行脚本?
我可以通过应用程序中嵌入的V8库调用谷歌地图api吗?如何?
I'm new in both javascript and V8. According to Google's Embedder's Guide, I saw something in the context section talking about built-in utility javascript functions. And I also found some .js files(e.g. math.js) in the downloaded source code, so I tried to write a simple program to call functions in these files, but I failed.
Does a context created by
Persistent<Context> context = Context::New()
have any built-in js functions? How can I access them?Is there a way to first import existing js files as a library(something like src="xxx" type="text/javascript" in HTML page) and then run my own execute script?
Can I call google maps api through the embedded V8 library in app? How?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
3.
Google 地图需要完整的浏览器 DOM(或者至少是 XMLHttpRequest 我猜),您不能仅从 Javascript 库中使用它。3.
Google Maps needs a full browser DOM (or at least XMLHttpRequest I guess), you can't use it from just a Javascript library.我认为 v8 免费为您提供 Math.* 函数。
不过,您需要自己实现其他所有内容,例如加载其他 javascript 文件。 shell.cc 具有您所需要的一些功能可能正在寻找。
至于地图 API,我相信您需要一个完整的渲染引擎/javascript 引擎组合。您可能最好看看 Webkit 或可以用来嵌入 Webkit 来实现您想要的内容的东西做,我真的不能说。
I think v8 gives you the Math.* functions for free.
You need to implement everything else yourself though, like loading other javascript files. shell.cc has some of the functions you might be looking for.
As for the maps API, I believe you would need a full blown rendering engine/javascript engine combo for that. You might be better off taking a look at Webkit or something that you can use to embed Webkit for what you're looking to do, I can't really say.
例如,您可以使用 --allow_natives_syntax 或 --expose_natives_as 选项。
以下是在 src/math.js 中随机选取 MathLog 的示例:
首先使用 --expose_natives_as: 编译 shell,
然后使用 --expose_natives_as:
或使用 --allow_natives_syntax 并加上 '%' 前缀:
You can use for example the --allow_natives_syntax or --expose_natives_as option.
Here are examples with MathLog picked at random in src/math.js:
First compile a shell with
Then use --expose_natives_as:
or use --allow_natives_syntax with the '%' prefix: