您的当前位置:首页正文

FireFox浏览器控件开发研究报告

2024-08-10 来源:榕意旅游网


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 页

因篇幅问题不能全部显示,请点此查看更多更全内容