CN104298493A - Javascript本地扩展方法及系统 - Google Patents
Javascript本地扩展方法及系统 Download PDFInfo
- Publication number
- CN104298493A CN104298493A CN201310304928.4A CN201310304928A CN104298493A CN 104298493 A CN104298493 A CN 104298493A CN 201310304928 A CN201310304928 A CN 201310304928A CN 104298493 A CN104298493 A CN 104298493A
- Authority
- CN
- China
- Prior art keywords
- javascript
- layer
- script file
- expansion
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于浏览器接口扩展技术领域,提供了一种Javascript本地扩展方法及系统。Javascript本地扩展方法包括:由浏览器层扩展管理模块的步骤,其中,由所述管理模块是扩展Javascript脚本文件的管理模块;所述浏览器层加载扩展层的所述扩展Javascript脚本文件;所述扩展Javascript脚本文件调用已封装成统一的API的Javascriptnative方法的步骤;以及所述统一的API对标准层提供统一的调用接口的步骤。本发明提供的Javascript本地扩展方法及系统,通过在标准层和浏览器层之间增加一个扩展层,可以向下对浏览器层native方法进行封装,向上给标准层提供统一的接口调用,简化开发复杂度,降低维护成本,提高开发效率。
Description
技术领域
发明涉及浏览器接口扩展技术领域,尤其涉及一种Javascript本地扩展方法及系统。
背景技术
在现有的广电、互联网等行业的web应用开发领域中,应用开发选择的语言大多是Javascript,通过Javascript调用系统的本地方法(以下简称为:native方法),需要浏览器根据接口定义扩展各种系统能力,即,扩展各种native方法。这些接口定义各异,如在广电行业就产生了很多标准:国家标准NGB,广东标准GCable,国际标准HBBTV等标准。由于各种标准并不统一,因此,浏览器就需要根据各种不同的标准进行本地化接口扩展。
另外,每种不同的浏览器都有提供不同的扩展native本地方法的方式,例如,plugin插件模式。基于以上原因, 对于同一个浏览器需要支持多种应用层标准(如NGB、HBBTV等),需要对Javascript内核引擎进行扩展接口,支持的标准越多,内核扩展越多,都是使用非脚本语言开发,要求开发人员层次高,从而导致实际维护过程中代码维护难度大,开发维护成本高,由于使用非脚本语言(如C语言)开发,效率不高。
发明内容
本发明的目的在于提供一种Javascript本地扩展方法及系统,旨在解决现有浏览器扩展方法实现层次低,所导致的Javascript代码维护难度大,开发成本高,效率不高的技术问题。
本发明是这样实现的,一种Javascript本地扩展方法,包括:由浏览器层扩展管理模块的步骤,其中,所述管理模块是扩展JavascriptJavascript脚本文件的管理模块;由所述浏览器层加载扩展层的所述扩展JavascriptJavascript脚本文件的步骤;所述扩展JavascriptJavascript脚本文件调用已封装成统一的应用程序编程接口的Javascript native方法的步骤;以及所述统一的应用程序编程接口对标准层提供统一的调用接口的步骤。
较优的,还包括:由所述标准层根据所述统一调用接口进行开发,自定义Javascript标准的步骤。
较优的,还包括:由应用层基于所述标准层的所述Javascript标准进行开发的步骤。
较优的,所述Javascript native方法由所述扩展层封装成所述统一的应用程序编程接口。
较优的,所述浏览器层加载扩展层的所述扩展Javascript脚本文件的步骤进一步包括:所述管理模块检测是否需要加载所述扩展Javascript脚本文件的步骤;如需要加载,则所述浏览器层强制加载所述扩展Javascript脚本文件的步骤;以及如不需要加载,则不加载所述扩展Javascript脚本文件,在HTML中指定所述扩展Javascript脚本文件的具体路径的步骤。
本发明的另一目的在于提供一种Javascript本地扩展系统,本发明的另一目的在于提供所述Javascript本地扩展系统包括浏览器层、扩展层、以及标准层,其中:所述浏览器层,扩展一个扩展Javascript脚本文件的管理模块,并加载所述扩展层的所述扩展Javascript脚本文件;所述扩展层,位于所述浏览器层以及所述标准层之间,将所述浏览器层的Javascript native方法封装成统一的应用程序编程接口,以供所述扩展Javascript脚本文件调用,并对所述标准层提供统一的接口调用;以及所述标准层,位于所述扩展层之上,根据所述扩展层提供的所述统一调用接口进行开发,自定义Javascript标准。
较优的,还包括:应用层,位于所述标准层之上,基于所述标准层中的所述Javascript标准进行应用开发。
较优的,所述管理模块检测是否需要加载所述扩展Javascript脚本文件,如果需要加载,则所述浏览器层强制加载所述扩展Javascript脚本文件,如果需要加载,则不加载所述扩展Javascript脚本文件,在HTML中指定所述扩展Javascript脚本文件的具体路径。
较优的,所述扩展层是统一Javascript扩展应用程序编程接口层。
较优的,所述Javascript标准为广电国标NGB-H或广电广东GCable-H标准。
本发明提供的Javascript本地扩展方法及系统,通过在标准层和浏览器层之间增加一个扩展层,可以向下对浏览器层native方法进行封装,向上给标准层提供统一的接口调用,简化开发复杂度,降低维护成本,提高开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的Javascript本地扩展系统的结构框示意图;
图2为本发明一实施例提供的扩展层、标准层、以及应用层的详细结构示意图;
图3是本发明一实施例提供的Javascript本地扩展方法的流程图。
图4是本发明一实施例提供的Javascript本地扩展方法中浏览器层加载扩展层的扩展Javascript脚本文件的步骤的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的目的在于提供一种Javascript本地扩展方法及系统,旨在解决现有浏览器扩展方法实现层次低,基于Javascript内核引擎层,所导致的Javascript代码维护难度大、开发成本高,效率不高的技术问题。
图1是本发明一实施例提供的Javascript本地扩展系统的结构示意图。如图1所示,Javascript本地扩展系统100包括:操作系统层110,浏览器层120,扩展层130,标准层140以及应用层150。
操作系统层110,位于浏览器层120之下,用于管理和控制各种硬件与软件资源,支持其他软件的运行。
浏览器层120,基于操作系统110之上,可以通过特定方法扩展Javascript native方法,具体来说,浏览器层120扩展一个扩展Javascript脚本文件的管理模块,这个管理模块检测是否需要加载扩展Javascript脚本文件,如果需要加载,则浏览器层120强制加载所需要加载的Javascript脚本文件,否则则跳过加载过程,不加载这些扩展Javascript脚本文件。当不加载这些扩展Javascript脚本文件时,可以通过在HTML文件中包含指定扩展Javascript脚本文件,从而显式的在HTML文件中要求浏览器加载该扩展Javascript脚本文件。当然,这种显式的加载方法,需要在HTML中指定扩展Javascript脚本文件的具体路径。其中,Javascript native方法是指Javascript在本地的方法,又叫Javascript本地方法。是由浏览器层120提供的可以使用Javascript语言进行调用的方法。
其中,不同种类的浏览器根据其各自的特性,所提供的特定方法也各不相同,Javascript脚本文件可以调用Javascript native方法。浏览器层扩展的扩展Javascript脚本文件的管理模块为扩展层管理模块,主要是管理各种应用层标准,有了扩展层管理模块,浏览器可以进行自动加载各种标准,应用可以调用标准API接口。
扩展层130,位于浏览器层120以及标准层140之间,向下封装浏览器层120提供的Javascript native方法,向上对标准层140提供统一的接口调用。其中,扩展层130为统一Javascript扩展应用程序编程接口(Application Programming Interface,以下简称为API)层,其可根据不同浏览器的实现,将浏览器层120的Javascript native方法封装成统一的API,以供扩展Javascript脚本文件调用。这些统一的API对标准层140提供了统一的调用接口。
准层140,位于扩展层130之上,根据扩展层130提供的统一调用接口进行开发,可以自定义任何Javascript标准,例如,可以自定义广电国标NGB-H、广电广东GCable-H标准等任何Javascript API接口的Javascript标准。因此,在适配多个不同标准时,就无需考虑浏览器之间实现的差异,只需要根据统一Javascript扩展API层提供的统一调用接口进行开发,从而简化开发复杂度。其中,广电国标NGB-H为中国广电行业的一项标准,广电广东GCable-H为中国广电行业广东地区的一项标准。
应用层150,位于标准层140之上,基于标准层140中的标准进行各种应用开发。
图2为本发明一实施例提供的Javascript本地扩展系统的扩展层、标准层、以及应用层的详细结构示意图。如图2所,扩展层130(即,统一Javascript扩展API层)根据不同浏览器的实现,将浏览器native方法封装成统一扩展API接口。标准层140,可以自定义Javascript标准1、Javascript标准2、......、Javascript标准n等多个Javascript标准。应用层150,基于标准层140中的标准进行APP1、APP2、......、APPn等各种应用的开发。
以上实施例所提供的Javascript本地扩展系统,通过建立一个统一Javascript扩展API层,对浏览器native方法进行封装,并给标准层提供统一的接口调用,在适配多个不同标准时,只需要根据统一Javascript扩展API层提供的统一调用接口进行开发,无需考虑浏览器之间实现的差异,从而简化了开发复杂度。
图3是本发明一实施例提供的Javascript本地扩展方法的流程图。如图3所示,Javascript本地扩展方法300包括:
步骤S301:浏览器层扩展一个扩展Javascript脚本文件的管理模块。
步骤S303:浏览器层加载扩展层的扩展Javascript脚本文件。
步骤S305:扩展Javascript脚本文件调用已封装成统一的API的Javascript native方法。其中,Javascript native方法是由扩展层封装成统一的API。
步骤S307:统一的API对标准层提供统一的调用接口。
步骤S309:标准层根据统一调用接口进行开发,自定义Javascript标准。
步骤S311:应用层基于标准层的Javascript标准进行各种应用开发。
图4是本发明一实施例提供的Javascript本地扩展方法中浏览器层加载扩展层的扩展Javascript脚本文件的步骤的细化流程图。如图4所示,加载扩展层的扩展Javascript脚本文件的步骤进一步包括:
步骤S401:管理模块检测是否需要加载扩展Javascript脚本文件,如果需要加载,则执行步骤S403,否则,则执行步骤S405。
步骤S403:浏览器层强制加载所需要加载的Javascript脚本文件。
步骤S405:跳过加载过程,不加载这些扩展Javascript脚本文件。
步骤S407:在HTML中指定扩展Javascript脚本文件的具体路径。
步骤S409:显式的在HTML文件中要求浏览器加载该扩展Javascript脚本文件。
本发明提供的Javascript本地扩展方法及系统,通过在标准层和浏览器层之间增加一个扩展层,可以向下对浏览器层native方法进行封装,向上给标准层提供统一的接口调用,简化开发复杂度,降低维护成本,提高开发效率。具体的简化主要是:把标准开发方法从原始的扩展Javascript内核引擎实现,转为Javascript脚本语言开发,Javascript脚本语言开发对开发人员要求低,维护成本低,开发周期短等特点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种Javascript本地扩展方法,其特征在于,包括:
由浏览器层扩展管理模块的步骤,其中,所述管理模块是扩展Javascript脚本文件的管理模块;
由所述浏览器层加载扩展层的所述扩展Javascript脚本文件的步骤;
所述扩展Javascript脚本文件调用已封装成统一的应用程序编程接口的Javascript native方法的步骤;以及
所述统一的应用程序编程接口对标准层提供统一的调用接口的步骤。
2.如权利要求1所述的Javascript本地扩展方法,其特征在于,还包括:
由所述标准层根据所述统一调用接口进行开发,自定义Javascript标准的步骤。
3.如权利要求2所述的Javascript本地扩展方法,其特征在于,还包括:
由应用层基于所述标准层的所述Javascript标准进行开发的步骤。
4.如权利要求1所述的Javascript本地扩展方法,其特征在于:所述Javascript native方法由所述扩展层封装成所述统一的应用程序编程接口。
5.如权利要求1所述的Javascript本地扩展方法,其特征在于,所述浏览器层加载扩展层的所述扩展Javascript脚本文件的步骤进一步包括:
所述管理模块检测是否需要加载所述扩展Javascript脚本文件的步骤;
如需要加载,则所述浏览器层强制加载所述扩展Javascript脚本文件的步骤;以及
如不需要加载,则不加载所述扩展Javascript脚本文件,在HTML中指定所述扩展Javascript脚本文件的具体路径的步骤。
6.一种Javascript本地扩展系统,其特征在于,所述Javascript本地扩展系统包括浏览器层、扩展层、以及标准层,其中:
所述浏览器层,扩展一个扩展Javascript脚本文件的管理模块,并加载所述扩展层的所述扩展Javascript脚本文件;
所述扩展层,位于所述浏览器层以及所述标准层之间,将所述浏览器层的Javascript native方法封装成统一的应用程序编程接口,以供所述扩展Javascript脚本文件调用,并对所述标准层提供统一的接口调用;以及
所述标准层,位于所述扩展层之上,根据所述扩展层提供的所述统一调用接口进行开发,自定义Javascript标准。
7.如权利要求6所述的Javascript本地扩展系统,其特征在于,还包括:
应用层,位于所述标准层之上,基于所述标准层中的所述Javascript标准进行应用开发。
8.如权利要求6所述的Javascript本地扩展系统,其特征在于:
所述管理模块检测是否需要加载所述扩展Javascript脚本文件,如果需要加载,则所述浏览器层强制加载所述扩展Javascript脚本文件,如果需要加载,则不加载所述扩展Javascript脚本文件,在HTML中指定所述扩展Javascript脚本文件的具体路径。
9.如权利要求6所述的Javascript本地扩展系统,其特征在于:
所述扩展层是统一Javascript扩展应用程序编程接口层。
10.如权利要求6至9中任一项所述的Javascript本地扩展系统,其特征在于:
所述Javascript标准为广电国标NGB-H或广电广东GCable-H标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310304928.4A CN104298493A (zh) | 2013-07-19 | 2013-07-19 | Javascript本地扩展方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310304928.4A CN104298493A (zh) | 2013-07-19 | 2013-07-19 | Javascript本地扩展方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104298493A true CN104298493A (zh) | 2015-01-21 |
Family
ID=52318237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310304928.4A Pending CN104298493A (zh) | 2013-07-19 | 2013-07-19 | Javascript本地扩展方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298493A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451162A (zh) * | 2016-06-01 | 2017-12-08 | 广州市动景计算机科技有限公司 | 网络资源访问设备、混合设备及方法 |
CN107547944A (zh) * | 2016-06-27 | 2018-01-05 | 中兴通讯股份有限公司 | 接口实现方法及装置、机顶盒 |
CN107766119A (zh) * | 2016-08-19 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种脚本语言接口的处理方法、装置和设备 |
CN110286964A (zh) * | 2018-03-15 | 2019-09-27 | 深圳Tcl数字技术有限公司 | 嵌入式应用自动调用接口的方法、存储介质及智能终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917620A (zh) * | 2006-08-30 | 2007-02-21 | 航天新世界(中国)科技有限公司 | 用于数字电视的互动增值服务支撑平台系统 |
CN101639774A (zh) * | 2009-08-31 | 2010-02-03 | 腾讯科技(深圳)有限公司 | 一种浏览器控件的封装方法及装置 |
CN101788911A (zh) * | 2010-03-04 | 2010-07-28 | 北京惠信博思技术有限公司 | 一种基于浏览器开发数字电视应用的方法 |
CN101895670A (zh) * | 2010-07-20 | 2010-11-24 | 深圳市茁壮网络股份有限公司 | 一种通用数字电视中间件系统 |
CN102495890A (zh) * | 2011-12-09 | 2012-06-13 | 上海全景数字技术有限公司 | 嵌入式浏览器应用扩展系统及方法 |
CN102999337A (zh) * | 2012-11-20 | 2013-03-27 | 上海中信信息发展股份有限公司 | 浏览器封装系统及方法 |
-
2013
- 2013-07-19 CN CN201310304928.4A patent/CN104298493A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917620A (zh) * | 2006-08-30 | 2007-02-21 | 航天新世界(中国)科技有限公司 | 用于数字电视的互动增值服务支撑平台系统 |
CN101639774A (zh) * | 2009-08-31 | 2010-02-03 | 腾讯科技(深圳)有限公司 | 一种浏览器控件的封装方法及装置 |
CN101788911A (zh) * | 2010-03-04 | 2010-07-28 | 北京惠信博思技术有限公司 | 一种基于浏览器开发数字电视应用的方法 |
CN101895670A (zh) * | 2010-07-20 | 2010-11-24 | 深圳市茁壮网络股份有限公司 | 一种通用数字电视中间件系统 |
CN102495890A (zh) * | 2011-12-09 | 2012-06-13 | 上海全景数字技术有限公司 | 嵌入式浏览器应用扩展系统及方法 |
CN102999337A (zh) * | 2012-11-20 | 2013-03-27 | 上海中信信息发展股份有限公司 | 浏览器封装系统及方法 |
Non-Patent Citations (1)
Title |
---|
吴光旭,吴晓溪: "基于WebKit 浏览器的本地扩展方法", 《电脑知识与技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451162A (zh) * | 2016-06-01 | 2017-12-08 | 广州市动景计算机科技有限公司 | 网络资源访问设备、混合设备及方法 |
CN107547944A (zh) * | 2016-06-27 | 2018-01-05 | 中兴通讯股份有限公司 | 接口实现方法及装置、机顶盒 |
CN107766119A (zh) * | 2016-08-19 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种脚本语言接口的处理方法、装置和设备 |
CN110286964A (zh) * | 2018-03-15 | 2019-09-27 | 深圳Tcl数字技术有限公司 | 嵌入式应用自动调用接口的方法、存储介质及智能终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898662B2 (en) | Method and device for generating software installation packet | |
EP2916243B1 (en) | Method, apparatus, server and system for implementing web application | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN106325847B (zh) | 基于iOS平台获取应用程序功能的方法和装置 | |
CN106874035B (zh) | 一种用于更新应用(app)内置H5的方法及其框架 | |
CN105487905A (zh) | 一种混合应用的更新方法和装置 | |
CN104298493A (zh) | Javascript本地扩展方法及系统 | |
US20130212559A1 (en) | Method and System for Developing Applications for Portable Communication Devices | |
CN103955364A (zh) | 一种适用于手机的前端组件方法 | |
CN105553959A (zh) | 动态生成智能设备操作界面的远程控制方法和系统 | |
CN102830959B (zh) | 一种嵌入式浏览器接口动态扩展方法及系统 | |
CN103530160A (zh) | 一种页面加载的方法和装置 | |
US9063726B1 (en) | Method and system for visual styling of visual elements for applications | |
CN103577568A (zh) | 一种跨平台的移动安全综合信息聚合系统及其方法 | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN103019763A (zh) | 插件扩展装置和插件扩展方法 | |
CN105577813A (zh) | 一种web混合应用的更新方法和系统 | |
CN101807204A (zh) | 一种遥感图像处理Web服务动态生成方法 | |
CN113127000B (zh) | 应用程序组件的编译方法、装置、设备及存储介质 | |
CN106502685A (zh) | 一种数据库的升级方法及系统 | |
CN113448650A (zh) | 直播功能插件加载方法、装置、设备及存储介质 | |
CN106406920A (zh) | 终端设备及其应用程序的执行方法 | |
CN109918598B (zh) | 一种基于Android电视浏览器的web页面渲染方法 | |
CN109992801A (zh) | 一种基于pads软件的pcb更新方法 | |
CN105279195B (zh) | 网页应用调用浏览器功能的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150121 |
|
WD01 | Invention patent application deemed withdrawn after publication |