Linux上的NPAPI和谷歌浏览器
问题描述:
我正在研究Linux上的NPAPI插件,并且已经与谷歌浏览器遇到了几个问题(尽管它在Firefox上完美运行)。Linux上的NPAPI和谷歌浏览器
首先,插件执行会挂起,经过很长的悲伤时间后,我发现NPN_Evaluate
的调用在最后一个参数(对于返回的result
)为NULL时挂起。它适用于Firefox很好。解决方法是传递一个NPVariant
类型变量的地址作为参数,并忽略该值。
之后精细插件加载,但我仍坚持这一错误消息: [8886:8886:195170759489:ERROR:WebKit的/粘胶/插件/ 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。
感谢您的回复......已经想通了XEmbed解决了这个问题:) ...我现在做的事情非常简单...当浏览器查询插件以检查它是否支持XEmbed时, m返回TRUE。这就解决了! – themoondothshine 2010-10-27 06:22:15