是否可以在google V8 JS引擎中添加javascript扩展?

Is it possible to add javascript extensions in google 's V8 JS engine?

本文关键字:添加 javascript 扩展 引擎 JS google V8 是否      更新时间:2023-09-26

使用http://doc.qt.nokia.com/4.7-snapshot/qtwebkit-bridge.html我们可以将Qt的QObject作为浏览器中的全局JS对象,这有助于暴露本机功能,或者暴露新的JS助手api集,目前QtWebkit已经在JavaScriptCore之上实现了QtWebkit bridge。

有没有办法在谷歌的V8 JS引擎中暴露本地c++/C对象/结构?

是。请参阅http://code.google.com/p/v8/source/browse/trunk/src/extensions/?r=8431下扩展v8::Extension的示例,我认为这些示例是通过api.h操纵的。

你也可以创建对象来暴露给V8,并通过属性拦截拦截对它们的属性访问。

你可能更喜欢写一个NPAPI插件而不是V8扩展,因为V8引擎在Chromium中默认是沙盒的。这意味着您的扩展也不能访问沙箱外的外部资源。一些库,如FireBreath,可以帮助你更容易地编写NPAPI插件。