Plugins 需要从NPAPI函数返回多个值

Plugins 需要从NPAPI函数返回多个值,plugins,google-chrome,npapi,Plugins,Google Chrome,Npapi,我试图创建一个NPAPI插件,在其中调用javascript函数并从插件返回一些值。我通过在NPVariant指针中设置字段来实现这一点。但由于它是一种结构,我一次只能放一根字符串。 在少数情况下,我需要将多个值或数组从NPAPI函数返回到javascript。关于如何实现这一点有什么想法吗?我所知道的实现您想要的功能的唯一方法是返回一个javascript数组;有两种方法可以获得这样的数组。在我看来,第一种理想的方法是通过调用NPN_GetValue获得窗口NPObject,然后调用array

我试图创建一个NPAPI插件,在其中调用javascript函数并从插件返回一些值。我通过在NPVariant指针中设置字段来实现这一点。但由于它是一种结构,我一次只能放一根字符串。
在少数情况下,我需要将多个值或数组从NPAPI函数返回到javascript。关于如何实现这一点有什么想法吗?

我所知道的实现您想要的功能的唯一方法是返回一个javascript数组;有两种方法可以获得这样的数组。在我看来,第一种理想的方法是通过调用NPN_GetValue获得窗口NPObject,然后调用array,第二种方法是使用NPN_Evaluate

一旦你有了这个数组,它将成为一个NPObject,你可以用你想要添加的项来调用push

这就是当您返回FB::variant列表FB::variant对象的向量时所做的;它只是创建一个数组,将它们全部填充进去,然后返回NPObject。因此,这是一个经过测试的可靠解决方案。您还可以调用window.object,然后调用SetProperty来返回javascript对象;数组也包含对象,所以您甚至可以制作一个混合的数组索引和对象键->val