我创建了一个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代码中注入这个文件。
还有其他更好的方式..
请帮忙.. 提前谢谢......
答案 0 :(得分:0)
有两种选择。您可以使用NPN_Evaluate,也可以使用NPN_GetValue获取对window
对象的引用:
NPObject* window;
NPError err = NPN_GetValue(pNPP, NPNVWindowNPObject, &window);
获得窗口NPObject后,您可以使用NPN_Invoke调用全局JavaScript函数,并使用NPN_GetProperty和NPN_SetProperty获取/设置属性。
您可以考虑使用FireBreath,这极大地简化了所有这些。