浏览器技术报告

浏览器技术报告
浏览器技术报告

设计文档说明

1.引言

编写目的:

编写本文档是为了让使用者了解本浏览器的基本构造以及对设计该浏览器所用到的所有一切软硬件的介绍,让使用可以在未使用该浏览器前就能对该浏览器有一个比较全面的了解。

背景:

当下存在许多的浏览器,比如微软系统下本身配备的IE浏览器、360浏览器、搜狗浏览器、傲游浏览器等。这些浏览器是如何实现其中的各式各样的操作的呢?为了让自己能够对浏览器功能的实现有进一步了解,所以以小组形式设计一个浏览器。

2. 任务概述

目标:

实现当下各种浏览器所具备的简单操作功能,并希望能在此基础上有所创新突破。

运行环境:Windows xp、Windows7等操作系统

参考文献:总体设计

设计软件:Microsoft Visual Studio 2005

总体结构:

1.菜单栏

2. 工具栏

3. 网页地址输入及新页面

4. 接口设计

外部接口

内部接口

是否对内部接口有要求,目前只是水平尚未能了解。

5. 使用说明

安装与初始化

安装本浏览器快捷方便,只需根据提示进行操作即可。安装完成后就将会在桌面显示本浏览器图标。

软件主要功能的使用以及说明

本浏览器使用简单,只需点击本浏览器图标即可进行查询网址操作。

演示:输入在该浏览器上可实现各类浏览器所能实现的功能。

功能如下:

菜单栏

1.文件:

新建

打开

保存

另存为

2.编辑:

剪切

复制

粘贴

全选

查找

工具栏

可打开多个窗口进行浏览

整个浏览器界面

微浏览器技术详解-simple

深入微型浏览器 (Micro Browser) 三之一 信息工业策进会嵌入式系统实验室 WAP 技术小组 前言 微型浏览器 (Micro Browser) 主要的应用层面,是在嵌入式系统中,如信息家电、PDA 等。现今由于行动通信的蓬勃发展,在行动通信上也开始有微型浏览器的相关应用出现,使得行动电话使用者也能够透过无线宽带网络尽情浏览网络,使用因特网上的信息与服务。本文将以一个实际运作的微型浏览器 Rock Browser 为主轴,介绍微型浏览器的设计理念与方法,同时讲述微型浏览器中各个模块如何互相协同运作,来完成一个呈现网页的工作。 现况分析 近年来,行动电话和因特网应用的整合,带来了无限商机。包括 Microsoft、IBM、Oracle 等软件大厂,以及许多新兴业者,无不竞相投入无线网络应用服务器 (Wireless Application Server)、网关器 (Wireless Application Gateway) 等伺服端相关软件平台的开发。就其中微型浏览器软件开发而言,我们列出几家知名的微型浏览器厂商与 Rock Browser,就其所支持的规格作为比较分析: 表1:微型浏览器功能支持 ( 注:O 表示支持,X 表示未支持 )

就各家微型浏览器支持规格上来看,其规格支持差异不大,主要以 XHTML Mobile Profile 和 WML 2.0 为主要支持内容,搭配 WCSS 加以变化,其中又以 Openwave 和Teleca 的支持最完整。而近来,打得火热的 MMS 也因各家厂商为争取大中华地区的订单而新增的功能。 就微型浏览器的市场来说,目前是各家微型浏览器各占一方,尚无一家独大的趋势。例如邻近的日本,ACCESS 由于 i-mode 的经营成功而拥有大半的日本市场;而全球行动电话的领导厂商 Nokia,则采用知名浏览器公司 Opera 所提供的微型浏览器;Openwave 更是因为已被多家行动电话厂商所采用而占有一块不小的市场;以大陆市场而言,Teleca 近日(6/18) 和中国行动电话制造商 Levono (前身为 legend)签署了一份合作同意书,未来将在大陆市场上协同作战。其中还有可怕的敌人--微软,微软虽然目前并没有倾全力抢占微型浏览器市场,但是随着 WinCE 操作系统的畅销,其它微型浏览器似乎也只能在『非 WinCE』的市场上争个长短,谁也不敢妄想在 WinCE 上动脑筋。 系统需求

浏览器工作原理

长沙理工大学 《网络系统》课程设计报告 学院城南学院专业计算机科学与技术班级计算机1101 学号201186250222 学生姓名高扬指导教师周书仁 课程成绩完成日期2013年6月28日

课程设计成绩评定 学院城南学院专业计算机科学与技术班级计算机1101 学号201186250222 学生姓名高扬指导教师周书仁完成日期2013年6月28日 指导教师对学生在课程设计中的评价 指导教师对课程设计的评定意见

课程设计任务书 城南学院学院计算机科学与技术专业

浏览器的设计与实现 学生姓名:高扬指导老师:周书仁 摘要论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统设计重点、设计思想、难点技术和解决方案;同时也论述了基于HTTP协议的Web浏览器的开发思路、开发过程、利用的主要技术及本浏览器应用程序的功能模块的说明。本课题是在深入理解HTTP协议的工作机理,系统掌握了TCP/UDP网络通信协议及网络编程的基本方法,掌握了使用Windows Sockets API和MFC Socket编程技术之后,采用Visual C++作为开发工具来设计并实现一个Web浏览器,其功能主要包括:浏览器的界面实现;实现收藏菜单;显示超文本;删除相关历史记录;将应用程序加入到时工具栏、禁止弹出窗口、禁止浏览某些网站访问Web页,保存网页,打印网页,停止当前访问,刷新网页,查看源文件和Internet属性等等。 关键词:Visual C++;MFC;HTTP协议;浏览器 目录 第1章绪论 1.1 软件开发背景 随着社会的发展和需求,在20世纪中叶人类研制了电子计算机。电子计算机运算速度快,计算精度高,存储能力强,具有逻辑判断能力,具有自动运行能力等特点。进过半个多世纪的飞速发展,电子计算在许多领域得到了广泛的应用,已成为衡量一个国家现代化水平的重要标志。而

Web前端开发技术有哪些

Web前端开发技术有哪些 Web前端开发技术有哪些?随着互联网的发展,web前端开发技术是越来越多,要求也越来越多。在这里小编为大家详细介绍一下web前端开发技术的三大要素。 Web前端开发技术包括三个要素:HTML、CSS和JavaScript,但随着RIA的流行和普及,Flash/Flex、Silverlight、XML和服务器端语言也是前端开发工程师应该掌握的。Web前端开发工程师既要与上游的交互设计师、视觉设计师和产品经理沟通,又要与下游的服务器端工程师沟通,需要掌握的技能非常多。这就从知识的广度上对Web前端开发工程师提出了要求。源代码教育是一家专业从事JAVA培训、PHP培训、WEB前端培训、UI设计培训的高科技IT教育培训机构。致力于打造中国知名IT教育品牌。如果要精于前端开发这一行,也许要先通十行。然而,全才总是少有的。所以,对于不太重要的知识,我们只需要“通”即可。但“通”到什么程度才算够用呢?对于很多初级前端开发工程师来说,这个问题是非常令人迷惑的。 前端开发的入门门槛其实非常低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。所以,对于从事IT工作的人来说,前端开发是个不错的切入点。也正因为如此,前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习曲线越来越陡峭,每前进一步都很难。另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。总有新的灵感和技术不时闪现出来,例如CSS sprite、负边距布局、栅格布局等;各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。

html5及css3web前端开发技术习题答案解析

第一章 1.简答题 (1)在Web前端开发方面,HTML5与HTML4比较,主要解决哪几方面的问题? HTML5的核心在于解决当前Web开发中存在的各种问题。 一是解决Web浏览器之间的兼容性问题。在一个浏览器上正常显示的网页(或运行的Web应用程序),很可能在另一个浏览器上不能显示或显示效果不一致; 二是文档结构描述的问题。HTML4之前的各版本中,HTML文档的结构一般用div元素描述,文档元素的结构含义不够清晰; 三是使用HTML+CSS+JavaScript开发Web应用程序时,开发功能受到很大的限制,比如本地数据存储功能、多线程访问、获取地理位置信息等,这些都影响了用户的体验。 (2)HTML5新增的全局属性有哪几个?描述其主要功能。 HTML5新增的全局属性,是指可以对任何元素都使用的属性。功能如下所示。

(3)HTML5是下一代Web语言的开发框架,典型特性有哪些? HTML5从标记语言的功能提升到下一代Web语言的开发框架,他集成了HTML+CSS3+JavaScript的Web应用框架。。 良好的语义特性。HTML5支持微数据与微格式,增加的各种元素赋予网页更好的意义和结构,适于构建对程序、对用户都更有价值的数据驱动的Web应用。HTML5增加了section元素、article元素、nav元素以及aside元素等结构元素。 强大的绘图功能。通过使用Canvas API动态地绘制各种效果精美的图形,也可以通过SVG绘制可伸缩矢量图形。 增强的音视频播放和控制功能。新增了audio和video 元素,可以不依赖任何插件而播放音频和视频。 HTML5的数据存储和数据处理的功能。 包括离线应用、Web通信、本地存储等功能,HTML5还支持WebSQL和IndexedDB等轻量级数据库,增强了数据存储和数据检索能力。 获取地理位置信息。HTML5新增了Geolocation API规,应用于移动设备中的地理定位。 提高页面响应的多线程。HTML5新增了Web Workers来实现多线程功能。通过Web Workers,将耗时较长的处理交给后台线程,降低Web服务的响应时间,有利于增强用户体验。 方便用户处理文件和访问文件系统的文件文件API 。HTML5的文件API包括FileReader API和File SystemAPI。 除了上面介绍的HTML5的特性之外,HTML5还有管理浏览器历史记录的History API。HTML5可以通过脚本语言在浏览器历史记录中添加项目,以及在不刷新页面的前提下显示地改变浏览器地址栏中的URL地址;而HTML5的拖放

Web开发技术习题集

Web开发技术 第一章 1.下列动态网页和静态网页的根本区别描述错误的是(D) https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)A、静态网页服务器端返回的HTML文件是事先存储好的; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)B、动态网页服务器端返回的HTML文件是程序生成的; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)C、静态网页文件里只有HTML标记,没有程序代码; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)D、动态网页中只有程序,不能有HTML代码; 真棒,答对了! 2.下面哪一项不是网页制作工具(D) https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)A、FrontPage; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)B、Dreamweaver; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)C、Visual Studio; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)D、PhotoShop; 3.目前的物联网、大数据和云计算的智能生活时代属于下列哪个web发展阶段(C)

https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)A、web1.0; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)B、web2.0; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)C、web3.0; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)D、web4.0; 题目解析:一般认为11或者12年开始进入Web 3.0时代,属于大互联时代。典型特点是多对多交互,不仅包括人与人,还包括人机交互以及多个终端的交互。智能手机促进了移动互联网的发展。现在是大互联时代的初期,真正的3.0时代一定是基于物联网、大数据和云计算的智能生活时代,实现了“每个个体、时刻联网、各取所需、实时互动”的状态,也是一个“以人为本”的互联网思维指引下的新商业文明时代。 4.关于webservice,下列说法错误的是(D) https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)A、webservice可以通过手机端访问; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)B、Web应用程序中无需下载安装Web服务可直接调用网上的Web服务提供的方法来实现某个功能; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)C、webservice服务可实现分布式应用; https://www.360docs.net/doc/f115458923.html,/examTest/stuExamList/javascript:void(0)D、webservice不能通过局域网访问; 题目解析:局域网可以访问在本局域网内部的webservice服务,能不能访问webservice取决于web服务的服务所在网络位置。

Web开发技术习题集

第一章 1.下列动态网页和静态网页的根本区别描述错误的是(D) A、静态网页服务器端返回的HTML文件是事先存储好的; B、动态网页服务器端返回的HTML文件是程序生成的; C、静态网页文件里只有HTML标记,没有程序代码; D、动态网页中只有程序,不能有HTML代码; 真棒,答对了! 2.下面哪一项不是网页制作工具(D) A、FrontPage; B、Dreamweaver; C、Visual Studio; D、PhotoShop; 3.目前的物联网、大数据和云计算的智能生活时代属于下列哪个web发展阶段(C) A、; B、; C、; D、; 题目解析:一般认为11或者12年开始进入Web 时代,属于大互联时代。典型特点是多对多交互,不仅包括人与人,还包括人机交互以及多个终端的交互。智能手机促进了移动互联网的发展。现在是大互联时代的初期,真正的时代一定是基于物联网、大数据和云计算的智能生活时代,实现了“每个个体、时刻联网、各取所需、实时互动”的状态,也是一个“以人为本”的互联网思维指引下的新商业文明时代。 4.关于webservice,下列说法错误的是(D) A、webservice可以通过手机端访问; B、Web应用程序中无需下载安装Web服务可直接调用网上的Web服务提供的方法来实现某个功能;

C、webservice服务可实现分布式应用; D、webservice不能通过局域网访问; 题目解析:局域网可以访问在本局域网内部的webservice服务,能不能访问webservice取决于web服务的服务所在网络位置。 5.域名系统DNS的含义是(A) A、Domain Name Service; B、Direct Network System; C、Dynamic Network System; D、Distributed Network Service; 6.下列有关浏览器到服务器到脚本到程序表述正确的是(D) A、一个URL指向一个CGI脚本. 一个CGI脚本的URL能如普通的URL一样在任何地方出现; B、服务器接收请求, 按照那个URL指向的脚本文件(注意文件的位置和扩展名),执行脚本; C、脚本执行基于输入数据的操作,包括查询数据库、计算数值或调用系统中其他程序; D、脚本不能产生某种Web服务器能理解的输出结果; 7.关于“服务端/客户端技术”的描述,不正确的是(D) A、“服务器端/客户端技术”描述的是一种工作方式; B、我们用来浏览网页的计算机属于客户端; C、web服务器既属于服务器端,也可属于客户端; D、web服务器只能属于服务器端; 8. 下面这段Html代码在浏览器中运行结果为(C)

论浏览器硬件加速技术

龙源期刊网 https://www.360docs.net/doc/f115458923.html, 论浏览器硬件加速技术 作者:徐欣刘宝锺 来源:《科学与财富》2011年第07期 [摘要] 本文通过对浏览器的一些架构分析,通过不同的技术手段,解决了主要浏览器的 硬件内容加速和构成加速的方法。 [关键词] 浏览器硬件加速 浏览器硬件加速技术又称GPU硬件加速技术。根据Mozilla的说法,浏览器硬件加速分成了“内容加速”和“构成加速”两个基本阶段:内容加速(Content Acceleration):主要指的是CSS边界、文字和图片等网页基本内容通过硬件加速,并可以加快2D Canvas的处理速度。构成加速(Compositing Acceleration):这是指将已经渲染(render)的物件组成最终网页的一个过程,其中也包含了3D物件的组成与像是淡入和淡出这种CSS特效,支持构成加速的浏览器可以用更加快的速度处理最终网页的显示问题,并使特效运行更为流畅。不过根据微软公司的说法,还必需加上桌面构成加速(Desktop Compositing Acceleration)才能称为Full Hardware Acceleration。桌面构成是指网页显示在屏幕上的最终构成阶段。微软曾经表示:IE9的图形加速性能比Google的Chrome浏览器和Firefox浏览器更好。 目前每个浏览器使用的硬件加速都有自己与其他浏览器不一样的特点,都采取对各自最有利的架构建立自己的浏览器硬件加速功能。目前常见的是微软的DirectX加速功能,包含 D3D、D2D和DirectWrite,另一个则是Khronos的OpenGL加速。使用DirectX的好处就是不需要特定的使用某些显示卡驱动,因为已经包含在Windows之中了;而OpenGL则是完全开 放式的标准,与D3D只能在Windows平台上使用的情况不一样,OpenGL在全平台都可以看到对OpenGL的支持,甚至在智慧型手机上也可以使用。 Opera和Firefox 4 RC1与Chrome一样,构成加速的基本技术都使用了OpenGL,不过在 2D内容物件的加速上,Firefox4采用的是微软的Direct2D(Windows平台)、Quartz(OSX)或XRender(Linux平台)处理2D物件的组成,而Google和Opera目前则全程使用OpenGL 加速所有可以加速的元件。Google使用Google Angle对应的D3D的功能,而Opera在其开发博客的文章中表示,他们不久后将在Windows平台下支持D3D加速功能,以弥补仅有特定显卡驱动支持OpenGL的这一缺点。 从现在的情况来看,常用的硬件加速平台都有许多缺点,DirectX方案的硬件加速功能只能在Windows平台上使用,其中D2D和DirectWrite更是只能在Windows Vista/7平台下才支持的。虽然有着Google、Firefox和Opera等众多浏览器对OpenGL的支持,而且能够跨平台 使用,不过不是每一张显卡都提供支持OpenGL的驱动程序,使得OpenGL的发展受到一定的限制。

网站开发的主要技术及比较

网站开发的主要技术及比较 --分析CGI;ASP;PHP;JSP;ASP.NET五种技术的特点 摘要:计算机网络为人们的生活打开了一片新的天地,创新了人们的生活方式。网站为作为网络中的节点,为人们提供丰富多彩的信息。目前,网站的开发技术有很多,从最初的CGI,到现在广泛使用的ASP、PHP,JSP、ASP.NET等,每一种技术都它的优势与缺点。在开发不同的网站时,需要根据网站的功能需求、面对的受众、访问量、开发人员的特长等因素选择不同的技术。本文将对各种技术进行全面的比较,为选择网站建设|j支术提供有益的借鉴。 关键词:网站;CGI;ASP;PHP;JSP;ASP.NET. 1.概述 网络作为一种现代社会的新型信息传播媒介。自上个世纪六十年代诞生以来,以超常规的速度发展,深入到社会的每一个角落,与人们的生活息息相关。网络是一个借助网络协议构建的包括硬件、软件和数据资源的综合应用系统。从物理层面看,它是一个用通信线路和通信设备将分布在不同地点的计算机互相连接起来的硬件系统;从系统服务层面看,它是大量相关软件组成的支持系统;从信息层面看,它是一系列包含大量信息的(节点)网站组成的数据资源系统,以网站为载体给人们提供各种网络服务。 网站(Website)是网络中为人们提供各种服务的站点,是由一系列用于展示特定内容的相关网页集合而成。人们可以通过网站来发布信息,或者利用网站来提供相关的服务。人们可以通过网页浏览器来访问网站,获取自己需要的信息或者享受网络服务。随着互联网的高速发展,现在绝大多数的单位都拥有自己的网站,他们利用网站来开展宣传、发布信息、完成招聘等活动。随着网页制作技术的流行与普及,很多个人也拥有自己的主页,用来展示个人信息、储存个人资料、展现个性。人们对信息的需求,催生了大量以提供网络信息服务的网络公司,它们通过网站为人们提供时事新闻、旅游、娱乐、购物、财经等生活各个方面的信息。 网站的开发技术有很多,主要包括CGI、ASP、PHP、JSP、ASP.NET等。每一种技术都有其自身的特点与局限性,具体的网站开发技术要根据网站的功能需求、面对的受众、访问量、开发者熟悉的技术等方面进行选择。以下将对各种网站开发技术进行全方位的比较。.·、 2CGl(Common Gateway Interface)技术 2.1CGI的涵义 CGI的含义是“公共网关接口”。CGI是一段程序,是H1TrP服务器与其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上,提供客户端Html页面的接口。 2.2CGI的工作原理 绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。其工作流程如下:

APP开发技术简介

APP开发技术简介 1.按APP的打包与发布方式来分类,APP分为三类: ?需要安装的APP,Native App、Hybird App、React App都属于这一类,发布时需要将App打包成可执行程序,然后挂到市场或者网站上,让用户下载安装后才能运行,其功能受限于平台API与权限,但也可以通过一些技巧越过平台API与权限限制,比如Hook技术。 ?不需要安装的APP,Web App,其实本质上就是个网站,只是做成了和手机APP相仿的样子,发布方式与网站发布相同,用户可以通过浏览器或者微信之类的工具去加载这个网站,其功能相对于手机,受限于浏览器引擎提供对手机本地服务(文件、相机等等)访问的JS接口,通常功能非常少,所以限制较大。 ?需要用户已经安装某个第三方APP,然后跑在第三方APP上的APP,这类技术安卓上较多(典型的Python程序可以跑在PythonOnAndroid APP上,或者Ruby解释器可以跑Ruby程序),而iOS由于有对这类行为做出过明确限制,上架审核规则里有明确指出,不准APP可以下载源代码从而扩展功能,所以iOS上过去并不存在这样的APP。 2.针对需要安装的APP,APP开发技术有如下分类 ?基于官方推荐与支持的语言与框架开发的App,安卓目前官方推荐的是Java、Kotlin 与C/C++进行开发,iOS目前官方推荐的是Objective-C、Swift与C/C++ ?基于一些第三方支持的语言和框架开发的App,这类大多是由一些互联网巨头与开源组织维护的,典型的技术有: ?Qt(知名的跨平台GUI框架,基于C++,现在随诺基亚倒台被Digia收购与商业化),可以用来开发安卓和iOS,但问题是我有了Java和OC,为啥还要去用Qt C++,是因为太闲或者觉得BUG不够多吗。。。 ?Mono,微软.NET框架的开源山寨版,与.NET兼容程度很高,一般使用C#开发,可以用来开发安卓和iOS,性能不佳,C#的开发效率也没比Java和OC高到哪去,还要面对没有官方支持的一堆坑,用他得靠信仰 ?Node.js,可以使用JS开发然后编译成Native程序,可以用来开发安卓和iOS,但和大部分JS的东西一样,你懂的,JS是一种宗教 ?Go,Google的高并发系统级语言,原目标是用来替换C,但似乎并不是很美,新的语法似乎还不如老的C,看个人喜好吧,目前有一些第三方写的Android框架,iOS 不清楚,没官方支持 ?Erlang、Ruby、Python,只要能编译二进制程序的框架理论上都能支持安卓和iOS,当然大多不靠谱,有病的可以试一下。

WWW浏览器插件开发技术

第4期汪诗林等:www浏览器插件开发技术55 WWW浏览器插件开发技术 汪诗林是泉源 (国防科技大学计算机学院长沙4100.73) 摘要软件插件技术可以让鞔件的使用者自己动手来扩先或增强软件的劝悦.固此许多高水平的应用软件都提供了相应的软插件技术.主要介绍wWw测览嚣洲幽cape和正)的软插件开发技术. 关键词软插件wWw浏览嚣 1插件技术概述 对于硬插件,大家并不陌生,如在Pc机扩展槽上插上一块声卡时,该Pc机就膏B够对声音进行处理,这块声卡就是Pc机的硬插件。软插件的实现机理与硬插件类似.它能允许在不对宿主软件进行任何修改的情况下,由软件用户根据该软件所提供的插件接口自行开发软插件-以扩充或增强软件的功能。事实上,软件本身的许多功能也是通过插件机制来实现的(如Netgcape教!『览器就是这样)。概括来说,软插件技术有戗下作用;(1)便于用户扩充或增强软件功能:(2)满足用户习惯,即可以由用户按自己的习惯来定制软件的界面、功能或操作流程等;(3)支持二次开发.这对一些大型工具软件来说是必不可少的;(4)便于软件系统集成。 软擂件一般可分为3共zfn类似批处理命令的简单插件.即宿主程序向用户提供一些基本的命令,用户按编写批处理文件的方式来开发插件;(2)用脚本语言实现的插件,如vB、w硎苷.用户使用脚本语言来编写插件;(3)基于接口调用的插件,这种形式的插件一般以动态链接库的形式存在(对于wⅪo啪应用程序而言),开发进程较为复杂。其实现机制是一由宿主程序将所有插件接口在内存中的地址传递培插件.插件则根据这些地址来调用插件接口完成所需功能、获取所需资源.以下将要介绍的Nec吕c叩e和m浏览器所采用的插件即属于第三类插件。 2WWW浏览器插件技术简介 hnemet世界之所以丰富多彩.令人乐此不疲.www网贞的作用功不可没。我们可以在wWw网页中嵌入各种各样的媒体.如声音、音乐、动嘶、视频甚至应用程序等.正是它们吸引并引导网民们畅游于hemet信息海洋。由于除已知的传统媒体外.新的媒体(乃至各种应用程序的私有数据媒体)层出不穷,浏览器不可能都顾及到.因此.为了解决该问题.NetscBpe公司为Net吕c叩e浏览器开发了一套擂件接口机制,用户可以根据其插件接口规范自行螭写软插件来扩充浏 收稿日期:1999年10月26目览器的功能。h血cro日on的Ⅲ浏览器为了抢占Nebc卵e浏览器的市场,也提供了与N如∞阳浏览器完全相同的插件接口机制,以便与N出ca口e浏览器的插件完全相窖,因此N如cape洲览器的软插件可以不加任何恬 改地作为蚴0览器的插件使用m珏c∞∞纠凡未在公开场台声明自己支持软插件,也未提供插件开发包。必须采用Nct8cape所提供的开发包来开发m浏览器的插件). 2.1播件的作用及表现形式 插件的主要作用有t(1)浏览新的数据类型或以新的方式嘲览已知数据类型;(2)开发基于w曲的应用(如cAD、文件下载、压缩,解压缩、电子商务、信息管理、游戏、语言解释罂等);(3)控制测览器的导航;(4)与LiveCon心t配合,生成具有任意交互性的网页。 插件的衰现形式主要有三种-嵌入式(插件的工作窗口是测览器主窗口中的一个嵌入子窗口)、满屏式(插件的工作窗口是一个满屏的窗口)和后台式(插件没有对应的工作窗口,在后台执行)。 2.2插件的功能 插件的主要功0E有,(1)登记Mm皿共型:(2)在浏览磊的主窗口中开设自己的工作窗口:(3)接收和处理键盘、鼠标事件I(4)使用URL从网络获取数据:(5)向Ul也传递数据:(6)舔加指向新的uRL的热链或热区{(7控制}rn肛.页面。 2.3使用插件的原因 在以下情形中.我们需要使用擂件t(1懈已有的甜程序捆绑到浏览器中{(2)重iI写性能敏赙的№吐应用程序;(3)充分利用本地操作系统的功能:(4)在hlt锄蚰Ih删应用中集成专用程序;(5)利用私有方法输出Jg%未提供的低层功能。 2.4插件的安装置童看 当我们浏览一个包含了未知插件的网页时,浏览器台提示你去安装相应的插件。插件必须安装到适当的位置才膏E起作用.我们可以采用手工方法来安装插件,也可以利用擂件开发商所提供的插件安装程序来安装插件.插件的主程序文件必须悬形如np?.dIl的动态健接库.且必须位于浏览嚣主程序所在目录的下一  万方数据

相关文档
最新文档