发现当初放这个记录已经过去好久了,后来真的通过firebreath开发跨浏览器插件后,发现也没啥好写的,直接根据他官方的指引一步步操作就OK了。
http://www.firebreath.org/display/documentation/Creating+a+New+Plugin+Project
通过这个指引,相信所有的技术人员都能非常轻松的创建好控件,并且在编译后,firebreath会算成自动的测试页面,非常直观。
我们接下来需要做的就是在其生成的控件代码的基础之上,添加我们有用的方法、属性、事件响应以及相关的业务代码;去掉[也可不去]其默认的测试方法等。
firebreath真的非常方便,在其提供的步骤中,甚至在编译后会自动生成安装包,贴心啊。
当然,如果有更多的需求,或者碰到问题需要咨询,也可以查阅官方的其他页面,我暂时还没用上。
以下再谈几点个人体会吧:
1. 生成的控件同时提供了com注册的入口,以及NPAPI的接口,能同时在IE及非IE系列浏览器下运行;在生成控件后,注册只需要regsvr32即可,Firebreath将注册apapi插件的操作也封装到了这里面,非常方便
2. 由于使用了boost库,最终生成的控件在还没有增加其他任何业务代码的情况下,最小体积也达到了900KB左右,这个有点偏大
3. 注册控件时只会注册到当前用户下,其他用户使用不了;如果有这种需求需要自己额外做处理
4. 由于默认使用的安装包是msi的,可以考虑采用nsis、innosetup等另外再打包,可以实现安装包的更大程度的定制
5. Firebreath在非IE浏览器下,采用的是NPAPI的插件方式;而Google已经宣布将逐步取消对此技术的支持,未来Firebreath应该也会做出相应的调整吧,持续关注...
补充一个个人认为很不友好的地方:
FireBreath通过python来生成项目配置,再进一步通过CMake来项目相应的解决方案及项目,但这里生成的文件引用的路径,全是绝对路径,这就太不方便了;本以为有什么办法可以调整,但FireBreath官网都说了,就不折腾了。
如果想把生成的项目换路径,则需要重新执行一次prep200x.cmd来重新生成一次项目了。 另外,如果要修改控件的GUID或者标识等,也只能修改项目文件目录下的xxxx.cmake,再重新通过prep200x.cmd来重新生成一次项目。