2011-07-14 56 views
0

我想創建一個NPAPI插件,我調用一個javascript函數並從插件返回一些值。我通過在NPVariant指針中設置字段來做到這一點。但是由於它的結構,我一次只能放一個字符串。 在少數情況下,我需要將多個值或數組從NPAPI函數返回給javascript。有關如何實現這一點的任何想法?需要從NPAPI函數返回多個值

回答

0

我知道完成你想要的東西的唯一方法是返回一個javascript數組;有兩種方法可以獲得這樣的數組。第一種(在我看來是理想的)方法是通過調用NPN_GetValue來獲得窗口NPObject,然後調用「array」,第二種方法是使用NPN_Evaluate。

一旦你有了數組(它將是一個NPObject),你可以用你想要添加的項目調用它。

當你返回一個FB :: VariantList(FB :: variant對象的向量)時,這就是FireBreath的作用。它只是創建一個數組,將它們全部填入,然後返回該NPObject。因此這是一個經過測試和可靠的解決方案你也可以調用window.object()然後SetProperty來返回一個javascript對象;數組區也是對象,所以你甚至可以創建一個混合數組(索引)和對象(鍵 - > val)。