首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从根JSAPI对象(由prepscript创建)调用另一个JSAPI对象的类成员

从根JSAPI对象(由prepscript创建)调用另一个JSAPI对象的类成员
EN

Stack Overflow用户
提问于 2013-07-18 06:34:20
回答 1查看 214关注 0票数 0

看着此页来自firebreath.org,我发现了这段节选:

您可以以JavaScript的形式将JSAPI实例返回给JSAPIPtr调用者,并使用该实例对不同的JSAPI对象进行调用,例如plugin()、.method1()、.method2()将调用根JSAPI对象上的method1()和在第一次调用中返回的JSAPI对象的method2()。

有什么例子吗?

我的目标:

我希望通过我的根JSAPI对象调用另一个类的成员(也正在实现FB:JSAPIAuto)成员(例如ABCAPI:FB:JSAPIAuto ),JSAPI对象是由预置脚本自动创建的,与前面通过创建类的JSAPIPtr所描述的相同。我就在这儿吗?

另外,我创建的ABCAPI的JSAPI对象是否也应该由获得一个插件引用?

我也通过了此页,但无法跟上。

到目前为止,我可以创建一个返回FB::JSAPIPtr的方法,该方法具有另一个Class (实现FB::JSAPIAuto)指针的值。

一个小小的例子在这里是一个很大的帮助!

*另一个疑问:如何向Javascript公开一个简单的c++类(而不是扩展任何火呼吸类),以便我能够访问它的成员?*我找到了一个v8 Javascript引擎。我希望我的插件也可以用于所有其他浏览器,除了chrome.Do,我需要这个吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-18 12:34:48

好吧,这里有几件事。首先,prep脚本不为您创建JSAPI对象--即fbgen。这是一个重要的区别,因为您将多次运行prep脚本,但fbgen只运行一次以创建项目框架。

接下来,你让这件事变得比需要复杂得多。JSAPI对象只是一个类对象;如果在C++中有对它的引用,就可以像调用任何其他对象一样调用另一个类的成员。它没有什么神奇之处,除非您将其交给javascript,然后您向javascript公开的方法是您唯一可以使用的方法。

您尚未解释的是对第二个JSAPI对象的引用来自何处。你是从javascript传进来的吗?如果是这样的话,事情会变得更加棘手,您将不得不使用->Invoke调用它,就像在从页面传入的任何其他javascript对象上使用的方法一样。是在c++中创建的吗?如果是这样的话,那么您只需像其他任何对象一样使用它。

至于假设的ABCAPI对象是否应该获得插件引用,这完全取决于您。根JSAPI对象不需要一个,这只是为了您的方便,以防您想要访问插件。

例如,查看一下防火墙代码库中的FBTestPlugin。它有嵌套JSAPI对象的例子等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17716199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档