基于chrome浏览器插件扩展开发设计大学论文.docx

上传人:b****8 文档编号:9139239 上传时间:2023-02-03 格式:DOCX 页数:36 大小:573.75KB
下载 相关 举报
基于chrome浏览器插件扩展开发设计大学论文.docx_第1页
第1页 / 共36页
基于chrome浏览器插件扩展开发设计大学论文.docx_第2页
第2页 / 共36页
基于chrome浏览器插件扩展开发设计大学论文.docx_第3页
第3页 / 共36页
基于chrome浏览器插件扩展开发设计大学论文.docx_第4页
第4页 / 共36页
基于chrome浏览器插件扩展开发设计大学论文.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

基于chrome浏览器插件扩展开发设计大学论文.docx

《基于chrome浏览器插件扩展开发设计大学论文.docx》由会员分享,可在线阅读,更多相关《基于chrome浏览器插件扩展开发设计大学论文.docx(36页珍藏版)》请在冰豆网上搜索。

基于chrome浏览器插件扩展开发设计大学论文.docx

基于chrome浏览器插件扩展开发设计大学论文

基于chrome浏览器插件扩展开发

摘要

Chrome浏览器高安全性的沙盒技术、多进程技术、隐身模式、快速高效的浏览体验吸引了大量用户。

Chrome扩展可以提升用户体验,乃至解决一些使用过程中遇到的实际问题。

本文介绍Chrome浏览器的进程与线程模型解析,对浏览器的框架也做出了一定的分析。

Chrome浏览器基于HTML的扩展开发方式极大地方便了开发人员。

本文是一显示图片和文字为例的chrome浏览器插件扩展开发,介绍了Chrome扩展的开发流程,并结合Ajax技术增强了特性。

扩展插件增加了浏览器的功能,使得浏览器趋向便捷,个性化。

扩展插件的开发也必定成为各大浏览器厂商竞争的方向,了解和编写插件扩展显得十分必要。

本文首先介绍了插件扩展开发的相关辅助知识,这对于chrome浏览器的扩展插件的开发具有指导意义,然后着重介绍了chrome浏览器的框架和插件的机构使得插件的开发原理清晰明了,最后介绍了运用Ajax技术的插件实例和解决插件开发过程中面临的一些常见问题的讲解。

本文的简单研究chrome浏览器的插件开发,有助于初学者的学习。

关键字:

chrome浏览器;插件;Ajax

 

Basedonthechromebrowserplug-inextensiondevelopment

Abstract

ChromeBrowsersecuritysandboxtechnology,processtechnology,morestealthmode,fastandefficientbrowsingexperienceattractsalargenumberofusers.Chromeextensionscanenhancetheuserexperience,andsolvesomepracticalproblemsencounteredduringuse.ThisarticledescribestheprocessandthreadModelAnalysisofthechromebrowser,thebrowserframeisalsomadesomeanalysis.ExtensionofthechromebrowserisbasedonHTMLdevelopmentmodegreatlysimplifiesdeveloper.Thisisadisplayimageandtext,forexamplechromebrowserplug-inextensionDevelopment,introducedthechromeextensiondevelopmentprocess,andAJAXtechnologieswithenhancedfeatures.Extensionsincreasethecapabilitiesofthebrowser,makinghisbangs.

Thisarticlefirstdescribestheplug-inextensionsrelatedtothedevelopmentofsecondaryknowledge,thedevelopmentofextensionsforchromebrowserwithaguide,andthenfocusontheframeworkofthechromebrowserandplug-inmakesiteasytodevelopthestructureoftheprincipleofclarity,andfinallydescribestheplug-ininstancebyusingAJAXtechnology,andsolvesomeofthefrequentlyaskedquestionsaboutplugindevelopmentprocess.Studyonthesimplechromebrowserplug-indevelopmentofthisarticle,helpsbeginnerslearn.

 

Keywords:

chromebrowser;pulg-inextentsion;Ajax

目录

1绪论4

1.1本文研究目的4

1.2Chrome浏览器扩展插件与实现技术4

1.3本文主要内容5

2浏览器发展与现状6

2.1浏览器简介6

2.2浏览器发展历程6

2.3浏览器分类6

2.4chrome浏览器简介7

2.5插件开发7

3插件开发环境8

3.1为什么是chrome浏览器8

3.2chrome插件开发环境8

4开发语言简介9

4.1javascript语言9

4.2HTML语言9

5Chrome的详解与插件结构11

5.1chrome浏览器11

5.2chrome浏览器的特点[15]11

5.2.1高速程序启动快,载入网页快11

5.2.2简单高效、易用性的设计11

5.2.3样式11

5.2.4多进程及多线程模型11

5.2.5搜索简洁11

5.3chrome浏览器内核11

5.4chrome的进程与线程模型12

5.4.1chrome的进程和线程模型[16]12

5.5chrome线程模型13

5.6chrome插件结构[17]14

5.6.1插件组成14

5.6.2manifest.json文件15

5.6.3浏览器插件结构15

5.7小结16

6.3插件制作18

6.3插件安装步骤19

6.4小结22

7Chrome浏览器插件开发相关问题23

7.1如何输出和查看调试信息23

7.2Chrome插件开发中文问题解决方法23

7.3如何在executescript多个contentscript文件[19]23

7.4插件是否提交24

7.5小结24

8结论25

8.1工作总结25

8.2论文展望25

参考文献26

附录27

致谢29

1绪论

本文对论文涉及的研究领域进行了较为详细的综述。

简要介绍了chrome浏览器以及插件开发的研究的目的和意义,给出了chrome浏览器插件开发的原理和主要步聚。

在对谷歌浏览器的特点简要概述的基础之上,着重强调了谷歌浏览插件开发的研究暨论文主要研究的内容。

1.1本文研究目的

21世纪是互联网的时代,社会的个个方面似乎都与互联网离不开,互联网的发展日新月异,对人们的工作方式,交往方式,学习方式的影响越来越大[1]。

互联网提高了办事效率,也扩展了人们的想象空间。

加上与移动通讯相结合,互联网简直就像“幽灵”一般如影随形,成为人们日常生活须臾不可分离的组成部分。

特别是由DOS的交互界面发展到windows图形界面[2],这些拉近与互联网的距离,浏览器作为信息的交互的工具具有不可替代的作用,浏览器的功能多少似乎影响着信息量的多少,所以似乎有必要增加浏览器的功能。

本文研究的目的是增加浏览器的扩展功能,实现浏览器的特定的功能以扩展浏览信息量或者实现浏览器特定的基本功能。

例如,增加浏览器的计算扩展,增加浏览器的信息存储扩展等。

在高速信息发展的时代似乎准确查找信息是有必要的也是必须的,扩展是解决浏览器信息的抓取的有效解决办法。

这并不是不能实现,可以在浏览器增加插件实现特定信息的抓取,例如在浏览器中抓取广告并删除。

节省时间,增加阅读性,实现更深层次的浏览器互动是增加插件的目的与意义。

本文是实现chrome浏览器插件开发的研究论文,具有指导插件开发的方法,步骤以及遇到的问题。

这也是本文研究的目的。

1.2Chrome浏览器扩展插件与实现技术

Chrome浏览器是谷歌公司的开源项目[3]。

Chrome浏览器是2008年发布的新一代浏览器,基于webkit内核和强大v8javascript渲染引擎,以其快速,简洁,安全性很快占据了相当大的市场份额一跃成为全球第二大浏览器。

插件就是扩展浏览器功能的实现某种特定需要的程序[4]。

Chrome浏览器插件开发相比于其他浏览器插件开发较容易,具有易于开发的开发者模式,插件的调试较易完成。

Chrome扩展是一个包括HTML文档、CSS、Javascript、图片以及其它文件在内的zip压缩包,为浏览器添加某些功能,其本质其实是web页面,可以使用浏览器所提供的所有操作web页面的API,包XMLHttpRequest和JSON等等。

Chrome扩展UI分为browseractions和pageactions两类,任何Chrome扩展最多只能选择其一。

本文是运用Ajax技术实现chrome浏览器插件的开发。

Ajax是一种创建交互式网页开发技术,用于快速动态网页的技术,Ajax可以实现式网页实现异步更新,可以在不重新加载整个网页的情况下对网页的某部分进行更新,有很多使用Ajax的应用程序案例:

新浪微博,Google地图等。

Chrome浏览器插件的开发是较易于初学者实现的,在实现插件的同时也培养了开发者大量的相关知识,完善插件开发的相关思想,对日后更近一步的发展插件奠定了一定的经验知识。

1.3本文主要内容

本文是实现chrome浏览器的插件开发。

文章讲解chrome浏览器的相关知识,插件开发的环境搭建,插件开发语言,这是本论文的基础知识。

chrome浏览器与插件结构知识是本文的核心知识,本文也提供相关的插件开发的样式供读者参考,最后本文简要介绍了在插件开发的过程中所遇到的一些问题并提供了一定的解决办法。

本文也存在许多不足之处,本文的研究水平有限仅供初学chrome浏览器插件开发人员参考。

2浏览器发展与现状

2.1浏览器简介

浏览器[5]是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。

浏览器主要通过HTTP[6]协议与网页服务器交互并获取网页,这些网页有URL(统一资源定位器)指定,文件格式通常为HTML[7],并有MIME在HTTP协议中指明,其过程就是解释与翻译超文本语言的过程。

大部分的浏览器支持除了HTML之外的广泛的格式,如JPEG,PNG,GIF等图像格式,并且能够扩展支持众多的插件(plug-ins),另外,许多浏览器还支持其他的URL类型及其相应的协议,如FTP、Gopher、HTTPS(HTTP协议的加密版本)。

HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入图像、动画、视频、声音、流媒体等。

2.2浏览器发展历程

浏览器的发展过程也就是最近几年快速发展起来了的,浏览器在发展的过程中出现了很多不同种类。

第一个web浏览器是在1990年有蒂姆-伯纳斯-李(TimBemers-Lee)发明的,刚开此时web浏览器取名为WorldWideWeb后改名为Nexus,第一个web浏览器的发明与作者的爱好习惯有关,李习惯使用超文本分享资讯,这就促使浏览器的诞生。

所以浏览器主要功能就是解释显示超文本文档,可见浏览器的诞生促进了文化,社会,科技的交流。

随着第一浏览器的诞生,各软件公司为抢占市场纷纷推出其各自的浏览器,著名的浏览器之争莫过于就是网景(Netscape)与微软(Windows),网景于1994年10月发布了其旗舰版浏览器,与之同时微软发布了著名的IE浏览器,两家互联网巨头公司在其浏览器编写中添加了互不兼容的HTML语言各自为阵,微软为了快速占领市场将IE浏览器与其操作系统捆绑销售,从而快速占领了市场,网景公司由于缺乏相应的推广手段很快败下阵来。

这场浏览器之争更加推动了互联网的发展,首先是制定了统一的标准,推去了HTML4语言,此外w3c也规范了许多标准,加快了浏览器市场的标准建立;其次,加快了其他浏览器的产生,网景为挽回Netscape的市场占有率,网景公司以开放源代码迎战,创造了Mozilla,2002年,衍生出phoenix后改为Firefox,就是著名的火狐浏览器。

其他浏览器如opera浏览器(欧朋浏览器其手机市场的占有率较高,个人电脑市场占有率较低),Lynx浏览器(Linux市场十分流行的浏览器,但它是全字模式的浏览器,视觉效果不是太好),Konqueror浏览器(由KDE开发而成,浏览器使用的是自家开发的排版引擎KHTML),Safari浏览器(基于Konqueror这个开放源代码浏览器的KHTML排版引擎而制成的,也是MacOSX的默认浏览器)。

最后,有助于IT产业的发展,浏览器的的普及化使得互联网能够快速的进入普通家庭,方便社交,文化交流,零售百货等快速的发展。

2.3浏览器分类

根据引擎区分[9]可分为:

基于gecko排版引擎,有Mozilla.Firefox,HotBrowser等浏览器,基于webkit排版引擎,代表作Googlechrome,safari,opera等,基于khtml排版引擎,代表作Konqueror,基于trident排版引擎,代表作Internetexplorer,Netscapebrowser等。

根据内核区分为ie内核,chrome内核和双内核(ie和chrome内核)。

2.4chrome浏览器简介

Chrome浏览器又叫称为Googlechrome浏览器,有谷歌公司在2008年9月2号发布的全新浏览器。

这是一款全新的,简约,高效的基于webkit内核,KHTML渲染引擎的浏览器,且支持Windows,mac,Linux等平台,同时也是开源软件。

chrome浏览器的支持的编写语言也是多样的,比如C++,汇编语言,JavaScript等语言。

Chrome最大的亮点就是其多进程架构,保护浏览器不会因恶意网页和应用软件而崩溃。

每个标签、窗口和插件都在各自的环境中运行,因此一个站点出了问题不会影响打开其它站点。

通过将每个站点和应用软件限制在一个封闭的环境中这种架构,这进一步提高了系统的安全性。

与此同时chrome浏览器有许多特点,浏览器中包含V8Javascript虚拟机,这个多线程的虚拟机可以加速Javascript的执行,网页的执行速度快,也是其它浏览器无法实现的;几乎隐身的设计让用户似乎感觉不到是在使用一款浏览器而是在像操作系统;以及更为简单方便的搜索设计。

2.5插件开发

浏览器的设计之初是为了更好的实现不同网络之间的交流,文档的互换与显示,并没有过多的考虑其它问题,随着网络的发展有太多的问题逐渐的显露出来,为了更好的人性化的服务许多应用插件应运而生。

插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。

很多软件都有插件,插件有无数种。

例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。

插件最大的好处就是实现浏览器不能实现的功能,也就是说扩展了浏览器的网页动作实现了许多功能。

比如,可以设计一个插件实现过滤广告的功能,这是浏览器本身所不具有的网页过滤功能;同样也可以设计一个插件实现动态与服务器进行交换的功能,这就是我们所熟悉的众多的抢火车票插件;还有一些插件实现了用户的安全登录与退去的功能,比如我们经常使用的支付宝登录插件,这些插件就是在浏览器的脚本中添加与服务器不断进行交换并且显示的功能。

插件实现了许多服务器没有的网页动作、功能,扩展了服务器的使用范围与使用的方便程度。

插件的定位应该是开发实现原纯净系统平台/应用软件平台不具备的功能的程序,其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。

因为插件需要调用原纯净系统提供的函数库或者数据。

插件也有不利的一面[10],插件的开发有可能会涉及到网页的稳定性与安全性。

插件可能会使浏览器的脚本与服务器运行的脚本发生混乱造成服务器的崩溃,插件中众多的js文件同样也会在浏览器的交换过程中获取用户的帐号密码等信息危害用户的安全。

总之,插件的利于弊需要的是用户全面的衡量,插件的下载应该在其官方网站下载与安装,这样就能保证其一定的稳定,安全。

本文所涉及的chrome浏览器插件开发是是实现浏览器的扩展功能,如浏览器中增加一些小的实用性的工具,像计算器,日历,文档的编辑等工作,生活小工具。

本文也是着重探讨chrome浏览器插件开发的步骤方法,明白简易原理以及实现自己的开发。

3插件开发环境

3.1为什么是chrome浏览器

插件开发普遍适合大多数的浏览器,插件的语言也是各种各样,有需要汇编的,C语言的,JavaScript语言的。

插件开发的方式方法也各有千秋。

但为什么选择chrome浏览器作为我们开发插件的浏览器呢?

首先,chrome浏览器是开源项目,chrome浏览器的安全性能也高于其它浏览器,其次,chrome浏览器的是基于webkit的内核设计,浏览器的脚本文件运行的快速且其单独的空间基本不会相互影响造成浏览器的浏览堵塞或者崩溃,这涉及到浏览器插件开发运行机制原理在后面章节中有所介绍。

最后,chrome浏览器插件开发要比IE浏览器插件开发容易的多,IE浏览器的插件开发的复杂程度不是一般初学者所能够理解运用的。

选用chrome浏览器的原因除了chrome浏览器本身的特点还有其他的优势与特色。

Google公司为了推广其浏览器,Google公司为其开设了一套完整的生态系统,上下游的弦接也是非常到位的。

例如Googlechrome浏览器本身具有开发者的模式,点击进入开发者的模式并加载自己的脚本文件就能够实现用户对chrome浏览器插件的功能。

Google公司也开辟了chrome浏览器插件的应用商店,有许多不错实用的插件提供下载,还有就是Google公司也为插件开发者提供技术支持,在其官方网站中有许多插件开发的技术指导指南,这也是相当不错的,另外也要提到360极速浏览器[11],它是基于chrome浏览器的开发的,它所倡导的极速特点也是chrome浏览器最大的特色,360极速浏览器官方网站也是全文翻译谷歌的官方文档。

这些都是chrome浏览器插件开发的有优势,也不叫适合初学者的学习,所以这是选择chrome浏览器的一些原因。

3.2chrome插件开发环境

Chrome插件开发必然少不了chrome浏览器,谷歌的浏览器为免费产品所以可以从其官网中获取,差价开发也必然少不了编写语言,所以推荐有一文本编辑器。

带语法亮点的是比较不错的,推荐使用editplus能够满足插件开发所需要的所有文本编辑工作需求[12]。

搭建开发环境是所有步骤的开始,硬件要求是比较低的,只要能够运行chrome浏览器就行了,其次,软件的要求同样只需要有chrome浏览器和文本编辑器就行了,至于网络的连接问题的需要看开发者的需求而行,互联网也可以获取许多帮助,有利于开发。

这就是所需的开发环境。

4开发语言简介

4.1javascript语言

不管什么样的浏览器大都可以开发出其特有的插件以实现各种功能实现目的,但是个个浏览器的插件开发语言就很大的不同了,有的需要C、C++语言,有的需要JavaScript语言[13]以及网页编程语言。

本文是以Googlechrome浏览器为例开发插件所需的语言是JavaScript,HTML等就足以满足插件的开发,以下就是简要的介绍这几种语言。

Googlechrome浏览器插件开发指南中可以得知需要的是以js为后缀的JavaScript脚本,以HTML为后缀的HTML代码以及json为后缀的主程序。

首先介绍json主函数程序:

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。

它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

这些特性使JSON成为理想的数据交换语言。

易于人阅读和编写,同时也易于机器解析和生成。

在chrome浏览器插件开发中就是以JSON主函数告知浏览器并实现对就js脚本,HTML代码的运用。

为了节约浏览器的消耗内存与时间,就运用了JavaScript语言。

Javascript是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。

当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。

于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能,大大加快网页速度。

同时是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。

且广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。

它最初由网景公司(Netscape)的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。

JavaScript是Sun公司(已被oracle收购)的注册商标。

Ecma国际以JavaScript为基础制定了ECMAScript标准。

JavaScript也可以用于其他场合,如服务器端编程。

完整的JavaScript实现包含三个部分:

ECMAScript,文档对象模型,字节顺序记号。

Netscape公司在最初将其脚本语言命名为LiveScript。

在Netscape在与Sun合作之后将其改名为JavaScript。

JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。

但JavaScript的主要设计原则源自Self和Scheme。

4.2HTML语言

在万维网上的一个超媒体文档称之为一个页面(外语:

page)。

作为一个组织或者个人在万维网上放置开始点的页面称为主页(外语:

Homepage)或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超级链接),所谓超级链接,就是一种统一资源定位器(UniformResourceLocator,外语缩写:

URL)指针,通过激活(点击)它,可使浏览器方便地获取新的网页。

这也是HTML获得广泛应用的最重要的原因之一。

在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site)。

超级文本标记语言(英文缩写:

HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。

超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。

网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:

文字如何处理,画面如何安排,图片如何显示等)。

浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。

但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

超级文本标记语言文档制作不是很复杂,但功能强大,支持不同数据格式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1