我已经浏览了这个论坛中关于这个问题的问题,但我没有找到任何与我所面临的问题相关的问题。我已经编写了一个 NPAPI 插件,它可以与 GtkLauncher(带有 webkit)和 firefox 一起正常工作,但使用 google-chrome(18.0.1025.151),该插件甚至没有出现在 about:plugins 中。我在 Ubuntu 10.10 上运行。
当我在 google-chrome 中加载插件时,在浏览器中我无法加载插件错误,但控制台上没有显示任何内容。我怀疑我的 NP_Initialize 函数是否被调用。
这是 NP_Initialize 代码:
-------------------------------
NPError OSCALL
NP_Initialize(NPNetscapeFuncs *npnf
#if !defined(_WINDOWS) && !defined(WEBKIT_DARWIN_SDK)
, NPPluginFuncs *nppfuncs)
#else
)
#endif
{
MEDIA_DEBUG_PRINT("\nwcf Media plugin: NP_Initialize");
if(npnf == NULL)
return NPERR_INVALID_FUNCTABLE_ERROR;
if(HIBYTE(npnf->version) > NP_VERSION_MAJOR)
return NPERR_INCOMPATIBLE_VERSION_ERROR;
npnfuncs = npnf;
#if !defined(_WINDOWS) && !defined(WEBKIT_DARWIN_SDK)
NP_GetEntryPoints(nppfuncs);
#endif
return NPERR_NO_ERROR;
}
NPError OSCALL
NP_GetEntryPoints(NPPluginFuncs *nppfuncs)
{
MEDIA_DEBUG_PRINT("\nwcf Media plugin: NP_GetEntryPoints");
nppfuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;
nppfuncs->newp = nevv;
nppfuncs->destroy = destroy;
nppfuncs->getvalue = getValue;
nppfuncs->event = handleEvent;
nppfuncs->setwindow = setWindow;
return NPERR_NO_ERROR;
}
我知道有一个用于跨浏览器开发的 Firebreath 框架,我计划使用它,但目前我需要让我的插件在 chrome 上运行。
有人可以帮我解决我的问题吗?
谢谢和问候, 苏维克