我使用firebreath框架编写了一个NPAPI插件。我能够从Javascript传递简单的数值并在我的(C ++)插件中访问它们,执行操作然后返回结果。我想知道如何对矢量进行操作,即数组。我不想在我的插件中分配新数组并从JavaScript复制数组(虽然我不知道如何做到这一点)。如何直接访问插件中的JavaScript数组?有没有特殊的方法呢?
答案 0 :(得分:1)
Javascript对象可以与FB :: JSObjectPtr类型一起使用。您可能想要使用的JavaScript对象的示例包括:
数组是对象;使用getProperty(n)或getProperty(“length”)等获取值
您还可以使用 - > invoke(“push”,FB :: variant_list_of(val))等方法
(在JSAPI方法上,为了使用JSObjectPtr类型,你应该使用类似于的方法:)
void doSomethingWithAnArray(const FB::JSObjectPtr& array) { ... }
还要记住,FireBreath不能告诉它是什么类型的js对象,只是有一个js对象;你不得不自己进行错误检测,因为它们不会给你一个实际的数组而是一些其他对象。