2011-06-27 63 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運行以查看您的插件是否實際實例化,並且如果是這樣調試呢?

相關問題