我最近为 Mac OS X 上的网络浏览器开发了插件。
由 XCode 开发,我的包位于 /Library/Internet Plug-ins。
Chrome、Safari、Firefox 捕获了这个插件,但 Opera 没有。
我的插件如何被 Opera 捕获?
如果没有关于您的插件的更多信息,很难回答您的问题。
插件必须位于“/Library/Internet Plug-ins”中,并且捆绑包必须具有 .plugin 扩展名而不是 .bundle。插件是否列在opera:plugins 中?
这篇关于插件的Mozilla 开发者网络文章应该非常有用。
Daniel,Opera Software ASA 的 Mac 质量保证部。
当opera没有加载插件时,您可以尝试将插件放入/Library/Internet Plug-Ins/。
不知道为什么会这样,因为opera说可以放@~/Library/Internet Plug-ins/ Opera 文档
尝试创建一个FireBreath插件,然后看看它的工作方式和你的构建方式有什么不同。或者,只需使用 FireBreath 插件——它比从头开始制作 NPAPI 插件要容易得多,并且可以解决许多浏览器问题和不一致问题。
FireBreath 插件在 mac 上作为 NPAPI 插件工作,据报道可以在 Opera 中工作。
你如何声明你的插件信息(名称、版本、MIME 类型等)?大多数浏览器都支持新的 Info.plist 方法,但 Opera 可能要求您也使用旧的基于资源的方法。
我花了数周时间寻找解决方案,但它看起来非常简单:将 YourPlugin.bundle 重命名为 YourPlugin.plugin !
甚至不需要 .rsrc 文件,因为它在其他地方被推荐。
:)