FireFox浏览器控件开发研究报告 文档名称 文件编号 版次 总页数 FireFox浏览器控件开发研究报告 受控编号 修改状态 附录 密级 正文 作者: 刘智慧 日期: 2009-12-4 批准: 日期: 审核: 日期: (版权所有,翻版必究)
目 录
1 研究目的 ................................................................................... 3 2 :实现原理 ................................................................................ 3
2.1 2.2
:PLUGIN实现形式 ............................................................................... 3 :FIREFOX与PLUGIN交互方法 ............................................................ 3
3 :Plugin的开发 ........................................................................ 3 4 :JavaScript中使用plugin ..................................................... 4 5 :Plugin与FireFox的兼容性 .................................................. 4 6 :实施方案 ................................................................................ 4
内部文件 第 2 页 / 共 5 页
1 研究目的
为了移植公司的IE控件到FireFox浏览器下使用,需要研究FireFox浏览器控件的开发技术。
2 :实现原理
FireFox浏览器控件在Mozilla官方网站中被称为Plugin。它与IE下的Axtive组件的功能类似,且实现原理也大致相同。 2.1 :Plugin实现形式
使用以np开头的dll文件。在dll文件中输出规定的接口函数。
2.2 :FireFox与Plugin交互方法
FireFox通过dll文件输出函数与Plugin交换互动中使用的一组函数:NPAPI。NPAPI是由Mozilla制定的一组函数。通过NPAPI,FireFox可以创建Plugin实例,控制Plugin实例生命,访问Plugin实例。相反,Plugin实例也可以通过NPAPI访问FireFox。
3 :Plugin的开发
为了简化FireFox Plugin的开发,Mozilla发布了一个SDK:Gecko
SDK。在windows下,使用Microsoft Visual C++开发Plugin的步骤是:
a、 下载Gecko SDK。
内部文件 第 3 页 / 共 5 页
b、 在VC++中把SDK路径设置为默认查找路径。 c、 创建一个以np开头的win32 dll项目。
d、 在项目中包含SDK中的必要的头文件,实现必要的NPAPI函数。
e、 在项目中创建自己的Plugin类,在Plugin类中实现要做的事情。
4 :JavaScript中使用plugin
JavaScript可以使用多种形式创建Plugin。附件中是一个使用截屏控件的例子。
详见:
(https://developer.mozilla.org/en/Gecko_Plugin_API_Reference%3aPlug-in_Basics)。
5 :Plugin与FireFox的兼容性
根据查得的资料知道,FireFox自最初的版本到现在的
version3.5,一直都是使用NPAPI技术来实现Plugin。虽然在这期间NPAPI有一些扩展,但它是向后兼容的。所以只要我们不使用扩展的功能,就能够开发出兼容已发布的各个FireFox版本的Plugin。
6 :实施方案
要想把已有IE控件移植到FireFox下使用,不必对控件进行全
内部文件 第 4 页 / 共 5 页
面重新开发,只需要针对每一个控件开发一个Plugin作为IE控件的外壳,让FireFox通过Plugin来使用IE控件。
如果只是为IE控件做一个外壳,那么Plugin只是在FireFox
和IE控件之间做传递工作,也意味着Plugin的开发也会非常简单,开发时间也很短,外壳文件也很小(一个截屏控件的外壳文件大小只有60K)。另外,在安装的时候,只需要把外壳文件写入注册表测特殊目录下,而无需考虑外壳文件在本地的目录。又因为外壳文件访问IE控件也不受IE控件文件所在的目录,所以在发布时,要不要把外壳文件与IE控件文件安装到一起都可以。 安装时,不管用户当前是否已经安装了FireFox,都可以直接
把我们的外壳文件写入注册表。这样,不管用户以后是第一次安装FireFox还是更换了FireFox版本,都可以使用我们的控件。
升级策略还可以使用当前IE控件使用的升级策略。由前端主
动询问控件的当前版本,同时前端已知控件的最新版本,若本地控件不是最新版本,则引导用户下载安装最新版本。
卸载时只需要删除注册表中相应信息和删除外壳文件即可。
内部文件 第 5 页 / 共 5 页
因篇幅问题不能全部显示,请点此查看更多更全内容