使用FireBreath写浏览器插件(一)
来源:互联网 发布:初级程序员考试书籍 编辑:程序博客网 时间:2024/05/01 04:47
一. FireBreath介绍
FireBreath是一个跨平台和跨浏览器的插件开发框架,通过Firebreath写的插件可以运行在windows,linux和mac上的IE,Firefox,Chrome,Opera,Safari等浏览器上。
FireBreath的主要开发者是Richard Bateman, 他工作在Facebook,FireBreath里面使用了不少Facebook贡献的代码。Firebreath使用New BSD授权或LGPL授权,官网在http://www.firebreath.org, 代码可以从https://github.com/firebreath/FireBreath下载。
FireBreath适合如下场合:
1. 需要提供新的功能给js调用(扩展js功能)
2. 需要实现类似于Flash或media player那样功能
3. 给Chrome写Extension
4. 其他非扩展浏览器外壳的功能的场合
在IE上,我们可能经常会看到如下的工具条:
google工具条属于浏览器外壳部分的扩展,并不属于ActiveX插件,而是属于BHO(Browser Helper Object)。无论是ActiveX还是BHO,都是基于COM实现的。在浏览器中使用COM的好处是扩展能力超强,好被其他程序重用(例如QQ的聊天窗口的一部分就是用IE做的),坏处是可能导致启动速度变慢(需要合理优化)。BHO可以实现很强大的功能,例如Chrome Frame就是利用BHO将Chrome嵌到IE里面运行。Firefox实现了一套与COM类似的技术:XPCOM(Cross Platform Component Object Model),XPCOM虽然说是跨平台,但整体来说还是弱于COM。
在IE中还有一种扩展js功能的是ie external对象(http://msdn.microsoft.com/en-us/library/ms535246(VS.85).aspx),现在很多程序就是用这种方法扩展js功能,例如迅雷,QQ等。
Firebreath现在主要是支持桌面系统的浏览器,还不支持Android,Iphone等平台。Firebreath实现采用了boost库,也使用了异常处理机制,这导致Firebreath在Android和Iphone等平台移植时会稍微困难一点,不过网上已经有android版的boost库。我曾经专门问过Richard Bateman是否有计划支持Android,他表示暂时还没计划。其实在嵌入式设备上的简单的做法是:参考Firebreath的架构,而不是使用其代码,否则可能会出现效率问题。
- 使用FireBreath写浏览器插件(一)
- 使用FireBreath写浏览器插件(一)
- 使用FireBreath写浏览器插件(一)
- 使用FireBreath写浏览器插件(一)
- 使用FireBreath写浏览器插件(二)
- 使用FireBreath写浏览器插件(三)
- 使用FireBreath写浏览器插件(三)
- 使用FireBreath写浏览器插件(二)
- 使用FireBreath写浏览器插件(二)
- 使用FireBreath写浏览器插件(三)
- 使用FireBreath写浏览器插件
- firebreath开发浏览器插件
- FireBreath开发跨浏览器插件
- 浏览器插件体系架构 FireBreath
- 跨浏览器插件框架FireBreath安装与使用之一——Windows下的插件
- 跨浏览器插件框架FireBreath安装与使用之二——Linux下的插件
- 跨浏览器插件框架FireBreath安装与使用之Mac下的插件
- 跨浏览器插件框架FireBreath安装与使用之一——Windows下的插件
- DataGridView ImeMode属性设置为OnHalf无效
- chrome 设置
- 常用正则表达式
- 三种遍历树的算法
- 架构、框架、设计模式之间的关系简述
- 使用FireBreath写浏览器插件(一)
- PeopleSoft Tracing & Logging
- mysql忘记密码,如何重置密码
- 开关电源
- SqlServer-删除某一个字段重复的记录,只保留一条
- 使用eclipse时,将自定义lib文件夹jar包转换为build path文件
- 在/etc/profile文件错误,导致ubuntu系统进入登陆界面输入正确密码又回到原来登陆界面。
- C# 中ToString的常用方法
- Android4.0控制拍照函数