2011-06-27 32 views
0

我已经嵌入了一个简单的NPAPI插件在谷歌Chrome扩展中。它被安装在Google Chrome上(它显示在about:plugins中),但背景html页面显示“缺少插件”,当一个方法被调用(比如plugin.foo),它显示了一个消息,说:“该插件没有方法foo”我的NPAPI插件得到安装,但我不能调用它的方法

我的invoke调用看起来像这样

static bool 
invoke(NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result) { 
    logmsg("invoke"); 
    int error = 1; 
    char *name = npnfuncs->utf8fromidentifier(methodName); 
    if(name) { 
     if(!strcmp(name, "foo")) { 
        ... 
       .... 

      return invokeDefault(obj, args, argCount, result); 
     } 
    } 
    // aim exception handling 
    npnfuncs->setexception(obj, "exception during invocation"); 
    return false; 
} 

https://developer.mozilla.org/en/XEmbed_Extension_for_Mozilla_Plugins

根据此文档umentation,我修改了我的NP_GetValue函数,并且插件没有NPP_SetWindow,因为我不希望它是一个窗口化插件。

我在哪里错了吗? 也指出可能有错误范围的任何其他地方。

谢谢 问候

回答

0

“缺少插件”可以显示任一如果没有加载插件(例如,你typo'd在对象标签的MIME类型),或者如果插件崩溃初始化期间。

您是否尝试过使用--plugin-startup-dialog运行以查看您的插件是否实际实例化,并且如果是这样调试呢?

相关问题