- 4
- 0
- 约4.56千字
- 约 5页
- 2020-09-13 发布于江苏
- 举报
利用 Plug-in(NPAPI)技术扩展应用程序的 Web 应用
摘 要: 讨论 Plug-in 的基本原理和开发方法,实现了一个 H.263 解码器的插件,并研究了如何
把应用程序通过 Plug-in 技术嵌入浏览器中。
关键词: 浏览器 Netscape/Mozilla Plug-in 插件 MIME
Plug-in 是扩展浏览器功能的一项重要技术。通过 Plug-in 技术,各种应用程序和集成软
件能够以插件模型直接嵌入到网页中,提供灵活的 Web 应用。但是对于一些大型的独立应用
程序很难将其改造成插件模型。本文主要介绍如何利用 Plug-in 技术把一个大型或单独运行
的应用程序嵌入到浏览 器中。
1 Plug-in 的开发结构
1.1 Plug-in 的基本原理
Plug-in 是 Netscape 公司提出的一种浏览器插件技术。Plug-in 插件的生存周期完全由
网页控制。具体控制过程如下。
(1)当浏览器读取 HTML 网页时,若遇到 MIME 类型的标记时,它首先搜索是否有注册该
类型的 Plug-in 插件。
(2)如果有,将该 Plug-in 插件的代码载入内存。
(3)浏览器初始化 Plug-in 的环境。
(4)创建该 Plug-in 插件的实例,用于处理和显示网页中指定的数据流。
(5)当该网页关闭或转到后台时,浏览器销毁该 Plug-in 插件的实例。
(6)浏览器关闭前,退出 Plug-in 的环境。
由如上过程可以看出,Plug-in 在运行时完全作为浏览器的一部分。但是,由于 Plug-in 的
编写一般由第三方创建,所以 Plug-in 插 件的开发必须遵循 Netscape 公司提出的标准规范。
Plug-in 技术的应用非常广泛,一般浏览器中的多媒体显示都是通过插件的方式由第三方提供
的, 如 Flash 等。
1.2 Plug-in 的基本结构
Plug-in 虽然是一个独立的模块,但它是由 Mozilla 浏览器来调用的。本质上说,Plug-in 接
管了一个指定大小的显示窗口,窗口的 绘制和内容显示则完全由 Plug-in 插件来控制。所以
开发者可以将所提供的任何功能和应用放置在该窗口中。
Netscape/Mozilla 制订了浏览器和 Plug-in 的标准通信过程,但是整个运行过程的核心是
浏览器和 Plug-in 插件互操作过 程,如图 1 所示。
图中以 NPP 开头的函数是在 Plug-in 中实现的由浏览器调用的接口,而以 NPN 开头的
函数是在浏览器中实现的由 Plug-in 调用的接口。 这二类标准函数保证了浏览器和 Plug-in
能够进行数据交换和操作。这些操作主要分为以下几类。
(1)窗口的内容绘制、显示和事件处理。其中最主要的是函数 NPP_SetWindow,它使浏
览器指定了 Plug-in 插件所操纵的窗口显示 区域。
(2)数据流的处理,用于浏览器和 Plug-in 之间的数据及文件内容的双向传递,主要通过流
的方式传递数据。
(3)URL 的处理,用于控制浏览器中超链的检索、显示和跳转。
(4) 内存操作和其他相关信息。
这些接口适用于 Netscape4.0 和最新的 Mozilla 浏览器版本。由于 Plug-in 程序必须以
动态库的形式由浏览器调用,因此针对不 同的操作系统其实现方式也不同,但是其 API 的设
计非常灵活。
2 完整 Plug-in 程序的开发
根据 Plug-in 程序的基本原理和结构,可以针对特定的操作系统(Windows 或 Linux)开发
相应的 Plug-in 程序。通常 Plug-in 插件的显示是通过 HTML 网页中的 Embed 或 Object 的
标签进行设置的。在浏览器对网页进行显示时,如遇到 Embed 或 Object 标签,浏览器会根据
指定的大小创建一个窗口句柄,并通过调用函数 NPP_SetWindow 把该窗口句柄传递给 Plug
-in 插件。至于窗口内容的显示和 操作完全由 Plug-in 插件来控制和处理,而 Plug-in 所需要
的数据或文件则通过 Stream 流进行通信。
本文设计了一个独立的 Plug-in 插件,其功能是播放一个 H.263 格式的图像压缩文件。
显示结构为。
其核心部分是通过函数 NPP_SetWindow 传递窗口句柄并通过 Stream 流传递 H.263
的文件内容,然后设置 Plug-i
您可能关注的文档
- 利率市场化将使中小企获支持.pdf
- 利率市场化改革的思路.pdf
- 利率市场化下的信贷资产交易创新之道.pdf
- 利率调整对证券市场 的影响.pdf
- 利率下调对保险业的影响.pdf
- 利润为王——制造业精益成本控制方法与实践.pdf
- 利润问题专题寒假.pdf
- 利润中心规划与实务运作 试题答案.pdf
- 利思达光电企业品牌形象优化及产品写真项目方案.pdf
- 利他主义与市场经济.pdf
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 湖北省武昌某中学2024-2025学年高一年级下册3月月考数学试卷(解析).pdf VIP
- 综合应用能力事业单位考试(社会科学专技类B类)试题与参考答案.docx VIP
- HomeFacialPro+品牌手册(精品).pdf VIP
- 昆明市一中2026届高三年级12月第五次联考数学试卷(含答案详解).pdf
- 2025年国家开放大学(电大)《供应链管理》期末考试复习试题及答案解析.docx VIP
- 2025年广州市中考数学试题卷(含答案解析).docx
- 2025年重庆市中考化学试卷真题及答案.docx VIP
- 基于YOLOv5s的校园场景多目标巡检系统研究.pdf
- 跨越施工专题培训.pptx
- 2025【基于PID算法的温湿度控制系统的设计7200字(论文)】.docx VIP
原创力文档

文档评论(0)