Nat*_*man 35 c++ npapi browser-plugin
我很好奇为Chrome,Safari和Opera等浏览器编写浏览器插件的过程.我在这里特别考虑Windows,并且更喜欢使用C++.
是否有任何工具或教程详细说明了这个过程?
注意:我不是指扩展名或"插件".我指的是类似于Flash和Adobe Reader如何使用插件来处理特定内容类型的插件.
Geo*_*che 41
正如其他人所指出的,这些浏览器的插件是使用NPAPI编写的.
注意:Firefox和Chrome都会默认大多数插件即将点击播放,Chrome计划完全逐步淘汰NPAPI.此时不鼓励新项目的NPAPI.
NPAPI入门资源:
然而,NPAPI本身相对较低,但有一些工具和框架可以帮助您:
我调查了Georg列出的一些框架,这是我得到的:
FireBreath。我认为这几乎是最好的一种。您可以在几天内使用FireBreath创建跨平台浏览器插件。我确实发现了一些缺点:Windows上不支持utf-8字符。例如:如果文件名中包含中文字符,则无法读取该文件的内容。我相信boost / locale可以解决此问题。但是FireBreath不包含boost / locale。是的,您可以使用外部Boost,但是我花了几天的时间进行配置和调整,但仍然无法在Windows上进行编译。作者使用cmake来组织代码和子项目。而且他创建了很多蝙蝠或外壳脚本和cmake宏,这很难理解和配置。简而言之,如果您想要FireBreath当前无法提供的功能,那么运气不好,添加新功能非常困难。
Nixysa。我不认为它正在积极开发中。文档很差。并从Wiki页面的评论中:https : //code.google.com/p/nixysa/wiki/HelloWorldWalkThru我们可以知道,用户根本无法获得帮助,并且无法在Windows上运行它
朱斯 它并非专门用于创建浏览器插件。它不支持Linux。作者认为NPAPI即将消亡,因此他没有计划支持Linux或添加新功能。
QtBrowserPlugin。您无法在QT 4.5之后的文档中找到它。换句话说,它不会被维护(并已从Qt 5.0中删除)
找到更多信息后,我将更新此答案。
更新:Chrome 不再支持NPAPI。我认为,由于缺乏浏览器的支持,将来用C ++编写插件变得越来越困难。