Firefox中支持ActiveX控件运行的研究与实现

Firefox中支持ActiveX控件运行的研究与实现

论文摘要

ActiveX控件是基于COM的通用组件,开发人员可以使用它方便地构建图形用户界面并使用其提供的类来创建各种对象,并调用该对象的属性、方法和响应该对象的事件。然而,基于Mozilla开发的Firefox浏览器尚不能运行ActiveX控件,限制了其在Internet中的应用。要实现Firefox对ActiveX控件的支持,必须解决四个问题,包括如何创建和初始化控件对象,如何在Firefox浏览器中显示和现场激活控件,如何使JavaScript能访问控件的属性和方法以及如何捕获控件事件并将其转发给JavaScript。本文在研究ActiveX控件运行机制和Firefox浏览器各种功能扩展手段的基础上,设计实现了npActiveX插件,解决了上述问题。在分析了创建控件的时机和方式后,通过HTML标签属性指定控件的创建和初始化信息。在研究了插件原理和OLE2.0容器部分的基础上,在npActiveX插件中实现了容器所需的各个接口及其方法,使容器与控件能正常交互,完成控件的显示和现场激活。通过XPCOM技术完成了JavaScript对npActiveX插件的访问,进而间接访问控件属性和方法。在研究控件事件机制的基础上完成了npActiveX插件对控件事件的捕获,并使用Mozilla平台提供的XPCOM接口将捕获到的事件转发给JavaScript。为提高操作系统的安全性,设计实现了ActiveXManager扩展。用户可在Firefox中使用该扩展查看已支持的控件及所有控件的CLSID、ProgId、版本号和安装路径,并指定要支持或禁用的控件。该扩展的界面采用XUL进行开发,底层功能由JavaScript和XPCOM组件实现。并使用Overlay技术制作了扩展安装包,将扩展集成在Firefox中。在WindowsXP操作系统下,使用Firefox浏览变电所工程组态画面,得到了较好的运行效果。使用组态画面对Firefox3.0和IE7.0的内存和CPU使用情况进行测试,比较、归纳了测试结果,分析得出在打开一定数目页面的情况下,Firefox3.0与IE7.0在系统资源使用情况方面相当,随着打开页面的增多,Firefox3.0的内存占用增长幅度小于IE7.0。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题背景和意义
  • 1.2 ActiveX概述
  • 1.3 Mozilla平台概述
  • 1.3.1 Mozilla的背景
  • 1.3.2 Mozilla的架构
  • 1.3.3 基于Mozilla的开发
  • 1.4 论文主要工作
  • 2 相关技术
  • 2.1 插件技术
  • 2.1.1 插件技术的原理
  • 2.1.2 插件的管理
  • 2.1.3 插件的实现方式
  • 2.1.4 浏览器插件
  • 2.2 COM、OLE与ActiveX
  • 2.2.1 OLE2.0提供的服务
  • 2.2.2 COM原理与应用
  • 2.2.3 ActiveX控件技术
  • 2.3 跨平台组件对象模型XPCOM
  • 2.3.1 XPCOM的接口
  • 2.3.2 XPCOM的标识
  • 2.3.3 XPCOM组件的结构
  • 2.3.4 XPCOM的初始化
  • 2.4 基于XML的用户界面描述语言XUL
  • 2.4.1 XUL的元素和事件处理
  • 2.4.2 XUL文件的处理过程
  • 2.4.3 XUL的运行方式
  • 2.4.4 扩展用户界面的Overlay技术
  • 2.5 本章小结
  • 3 Firefox中运行ActiveX控件
  • 3.1 Firefox运行ActiveX控件存在的问题
  • 3.2 创建和初始化ActiveX控件对象
  • 3.2.1 npActiveX插件获取创建和初始化控件对象的信息
  • 3.2.2 npActiveX插件创建控件对象的方式
  • 3.3 npActiveX插件显示和现场激活控件
  • 3.3.1 npActiveX插件显示和激活控件的过程
  • 3.3.2 npActiveX插件中容器的实现过程
  • 3.4 JavaScript访问控件的属性和方法
  • 3.4.1 基本原理
  • 3.4.2 定义插件方法
  • 3.4.3 数据类型转换
  • 3.5 捕获控件事件并通知JavaScript
  • 3.5.1 捕获控件事件
  • 3.5.2 发送事件名至JavaScript
  • 3.5.3 解决事件快速触发问题
  • 3.6 本章小结
  • 4 Firefox对ActiveX控件的管理
  • 4.1 ActiveXManager的工作原理
  • 4.2 图形界面的开发
  • 4.2.1 控件管理对话框
  • 4.2.2 控件信息对话框
  • 4.3 底层功能的开发
  • 4.3.1 AxManager组件的开发
  • 4.3.2 显示已支持的控件
  • 4.3.3 禁用控件
  • 4.3.4 支持控件
  • 4.4 ActiveXManager扩展集成到Firefox
  • 4.5 本章小结
  • 5 运行效果及性能分析
  • 5.1 组态实例
  • 5.2 运行效果
  • 5.3 系统资源使用情况
  • 5.4 本章小结
  • 结论
  • 参考文献
  • 攻读硕士学位期间发表学术论文情况
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    Firefox中支持ActiveX控件运行的研究与实现
    下载Doc文档

    猜你喜欢