我正在 Linux 上开发一个 NPAPI 插件,在使用 Google Chrome 时遇到了几个问题(尽管它在 Firefox 上运行得很好)。
首先,插件执行会挂起,经过漫长的痛苦时间后,我发现当最后一个参数(对于返回的结果
)是时,对 NPN_Evaluate
的调用挂起无效的。它在 Firefox 上运行良好。解决方案是将 NPVariant
类型变量的地址作为参数传递,而忽略该值。
之后插件加载正常,但我遇到了这个错误消息: [8886:8886:195170759489:ERROR:webkit/glue/plugins/webplugin_delegate_impl_gtk.cc(129)] 未在 bool WebPluginDelegateImpl::WindowedCreatePlugin() 窗口插件中实现,但没有 xembed。参见 http://code.google.com/p/chromium/issues/detail?id=38229
关于如何让这个插件工作的任何想法?
最佳答案
您需要在插件中使用 XEmbed 才能与 Chrome 一起使用。文档在这里:https://developer.mozilla.org/en/XEmbed_Extension_for_Mozilla_Plugins
FireBreath 使用此方法:http://firebreath.org
它是开源的(BSD 许可证),因此您可以将它与您的插件一起使用,也可以无耻地“借用”xembed 的代码。
关于linux - Linux 上的 NPAPI 和 Google Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878744/