从NPAPI插件代码调用javascript文件

时间:2013-08-21 13:13:03

标签: javascript events google-chrome-extension npapi

我创建了一个chrome扩展程序。现在,我想将其更改为NPAPI插件。我使用了npsimple示例代码(来自chrome)来构建插件。现在的问题是:

我有以下java脚本chrome扩展文件 代码:

//test.js

chrome.browserAction.onClicked.addListener(function(tab) 
{   
    //this file calls content script file  
});

单击扩展图标时会调用此文件。现在我们不想通过单击扩展名来调用此文件(想要在加载插件时调用它)。所以我们也可以举办其他活动。 现在我必须从NPAPI插件调用test.js文件。我不知道我该怎么做。我们可以从NPN_INVOKE中的NPAPI插件中发出一些假事件,并在js文件中注册一个监听器并执行js文件。 要么 有没有办法在NPAPI代码中注入这个文件。

还有其他更好的方式..

请帮忙.. 提前谢谢......

1 个答案:

答案 0 :(得分:0)

有两种选择。您可以使用NPN_Evaluate,也可以使用NPN_GetValue获取对window对象的引用:

NPObject* window;
NPError err = NPN_GetValue(pNPP, NPNVWindowNPObject, &window);

获得窗口NPObject后,您可以使用NPN_Invoke调用全局JavaScript函数,并使用NPN_GetPropertyNPN_SetProperty获取/设置属性。

您可以考虑使用FireBreath,这极大地简化了所有这些。