公开/公告号CN113138754A
专利类型发明专利
公开/公告日2021-07-20
原文格式PDF
申请/专利权人 视若飞信息科技(上海)有限公司;
申请/专利号CN202110363980.1
申请日2021-04-03
分类号G06F8/30(20180101);G06F8/38(20180101);
代理机构31361 上海宛林专利代理事务所(普通合伙);
代理人张明
地址 200433 上海市杨浦区国泰路11号1层展示厅A203室
入库时间 2023-06-19 11:54:11
技术领域
本发明涉及浏览器Javascript动态扩展技术领域,尤其涉及一种动态扩展浏览器Javascript引擎功能的方法、装置及电子设备。
背景技术
浏览器通常是为了实现W3C的标准而实现的工具类的程序,电视机上的浏览器不同于PC端,厂商往往会有定制的功能。
虽然目前浏览器功能很强大,但是有的时候浏览器提供的Javascript引擎不足以满足现实的需求,比如不能读取网卡的MAC地址,在电视机上又比如不能知道当前正在播放的电视节目,不能获取节目信息等W3C规范外的行为。前端Web开发者们希望通过一些机制来扩充电视浏览器的能力。还有种使用场景,那就是Web开发者们在使用传统的HTML/JS/CSS开发网页的时候,发现能力有限,希望使用C/C++来开发库,这些库是可以被网页调用,来满足应用的要求。
由于有些电视厂商希望Javascript的扩展不公开,要求浏览器只提供扩展的机制,即提供从Web页面到系统平台的通道,而具体函数名称以及功能由厂商自己定,不需要告知浏览器。既然不需要告知浏览器,厂商也希望浏览器不需要随着Javascript扩展的改变而重新编译浏览器SDK。浏览器要做到一次定型,功能可以随时扩展。
通常浏览器一旦完成编译,Javascript不能进行动态的扩充,必须手动修改Javascript并且重新编译。动态扩展Javascript只需在外部扩展库中添加针对系统的函数并且只编译扩展库,整体浏览器不需要改动。
目前浏览器可以通过插件来完成一定程度的Javascript扩展。插件是一种统称,表示一些动态库,这些动态库根据定义的标准接口来和浏览器进行交互。
Javascript提供两种机制来扩展Javascript函数接口:
一是绑定:使用IDL文件或接口文件来生成绑定文件,然后这些生成的文件和Javascript引擎一起编译。
二是Extension:通过Javascript提供的基类Extension来达到扩展的目的,它的基本原理是提供一个基类”Extension”和一个全局的注册函数。一个浏览器的Extension实例其实就是一个网页加上Javascript的代码和CSS样式代码。
使用插件来扩展Javascript接口有个缺陷,就是需要在DOM树中加入”embed”或“object”节点,并且需要提前完成插件的初始化,即使之后这个插件有可能并不需要。插件所提供的函数需要等DOM树完成之后才能被启动。
Javascript扩展静态绑定技术:绑定机制的问题就是需要新生成的文件和Javasscript引擎一起编译,而不能在引擎执行之后动态的执行这些已生成的新代码,这限制了它的使用场景,因为Web开发者需要能动态的提供新的对象和函数,能被Javascript代码直接调用。而且电视厂商必须告诉浏览器厂商扩展函数的名称和参数。
Javascript Extension机制:Javascript Extension所能实现的功能范围就是Javascript所定义的函数,现在Chrome扩充了这部分函数,比如创造标签页,提取标签页的特性等,但是这部分扩展的函数也是已经在浏览器生成的时候固定下来了,Web开发者可用根据不同的场景来搭配这些不同的函数来完成自己的功能,而不能使用从一开始根本就不存在的函数。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是现有的Javascript扩展方法依赖于DOM树,或必须由电视厂商告知扩展函数的名称和参数,或需要对整个浏览器进行编译等问题,本发明提供了一种动态扩展浏览器Javascript引擎功能的方法、装置及电子设备,不必使用插件,避免对DOM树的依赖,并且可以在Javascript引擎完成初始化之后第一时间被执行,并且不需要知道电视机厂商希望扩展的具体函数名称且不需要对整个浏览器进行重新编译。
为实现上述目的,本发明提供了一种动态扩展浏览器Javascript引擎功能的方法,包括以下步骤:
定制浏览器,使浏览器的Javascript引擎与扩展库绑定,并提供接口至客户;
客户根据需求定制扩展库,并使扩展库与浏览器动态连接,以供浏览器加载;
定制Web页面,使Web页面展现从系统平台获取的数据,并调用扩展库中客户定制的函数。
进一步地,定制浏览器,使浏览器的Javascript引擎与扩展库绑定,并提供接口至客户,具体包括以下步骤:
提供扩展接口基类,包括基础接口函数以及辅助参数类型,用于连接浏览器和扩展库。浏览器通过对接口基类的调用相当于间接地调用了扩展库内的函数,浏览器可以看成是一个从Web页面到扩展库的中间层。
进一步地,客户根据需求定制扩展库,使扩展库与浏览器动态连接,以供浏览器加载,具体包括以下步骤:
扩展库继承浏览器设置的扩展接口基类,并设置实现扩展接口基类的函数;
将扩展库编译成动态连接库,然后将编译后的动态连接库放在浏览器能读取的指定目录下。
进一步地,定制Web页面,使Web页面展现从系统平台获取的数据,具体包括以下步骤:
Web页面根据扩展库内的类名创建实例;
通过创建的实例来调用扩展库内定义的函数或成员变量;
Web页面注册回调函数,用于系统平台调用;
Web页面通过调用或回调展现从系统平台获取的数据。
进一步地,浏览器通过调用基础接口函数把Web页面中所需要实现的功能传递给加载的扩展库,或系统平台通过扩展库中注册的回调函数把系统平台获取的数据通过异步的方式传递给Web页面;Web页面从而实现控制系统平台,并能展现系统平台内部的数据。
进一步地,浏览器启动后加载指定目录下的扩展库;
当扩展库被加载的时候,浏览器调用初始化函数通知系统平台;
浏览器通过调用基础接口函数来获取扩展库中类名及类内的函数、成员变量的名称;
浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
Web页面利用扩展库内的类名创建扩展实例;
浏览器根据扩展库注册的函数名来调用扩展库的函数
浏览器根据不同的函数名来调用扩展库的函数来读取系统平台的数据,或者写入系统平台。
进一步地,当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
进一步地,浏览器通过成员变量名来调用相对应的函数用于读出数据或写入数据。
进一步地,浏览器启动后加载指定目录下的扩展库;
当所扩展库被加载的时候,浏览器调用添加的初始化函数通知系统平台;
浏览器通过调用基础接口函数来获取扩展库中类名及类内的函数、成员变量的名称;
浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
Web页面利用扩展库内的类名创建扩展实例;
浏览器读取扩展库内的函数指针列表,遍历列表把函数指针相对应的字符串添加至Javascript引擎进行绑定;
浏览器把调用的成员变量名的函数指针和Javascript引擎进行绑定;
当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
本发明的另一较佳实施例提供了一种动态扩展浏览器Javascript引擎功能的装置,包括以下模块:
浏览器定制模块,用于定制浏览器,使浏览器的Javascript引擎与扩展库绑定,并提供接口至客户;
扩展库定制模块,用于客户根据需求定制扩展库,并使扩展库与浏览器动态连接,以供浏览器加载;
Web页面定制模块,用于定制Web页面,使Web页面展现从系统平台获取的数据,并调用扩展库中客户定制的函数。
进一步地,浏览器定制模块包括
提供扩展接口基类,包括基础接口函数以及辅助参数类型,用于连接浏览器和扩展库。
进一步地,扩展库定制模块包括
设置单元,扩展库继承浏览器设置的扩展接口基类,并设置实现扩展接口基类的函数;
编译单元,用于将扩展库编译成动态连接库,然后将编译后的动态连接库放在浏览器能读取的指定目录下。
进一步地,Web页面定制模块包括:
创建单元,用于Web页面根据扩展库内的类名创建实例;
调用单元,用于通过创建的实例来调用扩展库内定义的函数或成员变量;
注册单元,用于Web页面注册回调函数,用于系统平台调用;
获取数据单元,用于Web页面通过调用或回调展现从系统平台获取的数据。
进一步地,浏览器通过调用基础接口函数把Web页面中所需要实现的功能传递给加载的扩展库,或系统平台通过扩展库中注册的回调函数把系统平台获取的数据通过异步的方式传递给Web页面;Web页面从而实现控制系统平台,并能展现系统平台内部的数据。
进一步地,浏览器启动后加载指定目录下的扩展库;
当扩展库被加载的时候,浏览器调用初始化函数通知系统平台;
浏览器通过调用基础接口函数来获取扩展库中类名及类内的函数、成员变量的名称;
浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
Web页面利用扩展库内的类名创建扩展实例;
浏览器根据扩展库注册的函数名来调用扩展库的函数
浏览器根据不同的函数名来调用扩展库的函数来读取系统平台的数据,或者写入系统平台。
进一步地,当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
进一步地,浏览器通过成员变量名来调用相对应的函数用于读出数据或写入数据。
进一步地,浏览器启动后加载指定目录下的扩展库;
当所扩展库被加载的时候,浏览器调用初始化函数通知系统平台;
浏览器通过调用基础接口函数来获取扩展库中类名及类内的函数、成员变量的名称;
浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
Web页面利用扩展库内的类名创建扩展实例;
浏览器读取扩展库内的函数指针列表,遍历列表把函数指针相对应的字符串添加至Javascript引擎进行绑定;
浏览器把调用的成员变量名的函数指针和Javascript引擎进行绑定;
当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
本发明的又一较佳实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时,实现如上述任一项的方法。
本发明的又一较佳实施例提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序使计算机执行时实现如上述中任一项的一种动态扩展浏览器Javascript引擎功能的方法。
技术效果
本发明的一种动态扩展浏览器Javascript引擎功能的方法、装置及电子设备,可以扩展任何函数供Web页面开发者使用,具有很大的灵活性;不用重新编译整个浏览器,秩序替换一个扩展库,节省升级的成本;电视厂商不需要公开所需要的函数,并且所需要的函数基于C语言,增加保密性。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的一种动态扩展浏览器Javascript引擎功能的方法的运行方式示意图;
图2是本发明的另一个较佳实施例的一种动态扩展浏览器Javascript引擎功能的方法的运行方式示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下描述中,为了说明而不是为了限定,提出了诸如特定内部程序、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本发明实施例提供了一种动态扩展浏览器Javascript引擎功能的方法,包括以下三大部分:
一、定制浏览器,使浏览器的Javascript引擎与扩展库绑定:
浏览器加载扩展库的函数,启动时读取设置文件,以确定是否需要加载扩展库,在哪个路径;
设置扩展接口基类,包括基础接口函数以及辅助参数类型,用于连接浏览器和扩展库;
浏览器将扩展库内的函数通过接口和Javascript引擎绑定,这样Javascript的函数调用将由引擎转化成对平台系统的调用,并且把平台系统的回调转化成对WebJavascript的函数调用。
二、根据需求定制扩展库,并使扩展库与浏览器动态连接;
扩展库继承浏览器设置的扩展接口基类,并设置实现扩展接口基类的函数;将扩展库编译成动态连接库,以便于即使没有这个扩展库,也不影响浏览器运行,然后将编译后的动态连接库放在浏览器能读取的指定目录下。
三、定制Web页面,使Web页面展现从系统平台(这里的系统平台指的是嵌入式设备里面的Linux系统或者安卓系统)获取的数据;
Web页面根据扩展库内类名创建实例;
通过创建的实例来调用扩展库内定义的函数或成员变量;
Web页面注册回调函数,用于系统平台调用;
Web页面通过调用或回调展现从系统平台获取的数据。
上述三个模块浏览器端先完成绑定,并提供接口给客户;客户根据接口,完成扩展库,以供浏览器加载;最后完成Web页面,去调用扩展库里面客户定制的函数。
要注意的是如果Javascript引擎在Web页面上动态创造一个类,必须知道这个类的名字,比如在扩展库里面定义这个名字叫”电视菜单”,由于这个名字是自由选取的,不在Javascript引擎内置的方法里,所以需要通过浏览器提供的接口(基础类里面的一个接口)来定义,浏览器在加载扩展库后,会有初始化动作(即调用初始化函数通知系统平台),这个时候就会像扩展库索取这个Javascript引擎在页面上面需要的类的名字,即“电视菜单”。
浏览器通过调用基础接口函数把Web页面中所需要实现的功能传递给加载的扩展库,或系统平台通过扩展库中注册的回调函数把系统平台获取的数据通过异步的方式传递给Web页面;Web页面从而实现控制系统平台,并能展现系统平台内部的数据。
上述的注册回调函数是一层一层的,Web页面上的回调是Javascript的标准写法,这样等于是连接了浏览器和页面;浏览器需要注册函数给扩展库,这样连接了浏览器和扩展库,扩展库以下就是系统平台。举个具体的例子,页面上面注册了切电视通知的回调,这个回调是注册给浏览器的,然后浏览器在扩展库里注册一个函数,那么当使用者切电视频道的时候,系统平台最先知道,通过扩展库回调给浏览器,浏览器再回调给页面,页面能做出相对应的行为。比如Web页面上面要显示一个音量条,Web页面、浏览器都不知道具体的音量值是多少,所以要通过接口问系统平台要到数据,然后传回给浏览器,浏览器再交给页面,页面根据这个值来画出相对应的音量条长度。
浏览器扩展是指通过web技术–HTML,CSS还有Javascript来完成浏览器不具备的功能,例如网站信息的收集,网页里添加或删除内容,添加新的工具和浏览特性等。这些扩展是基于浏览器本身提供的接口,可以在此之上进行功能的开发,但是浏览器本身所提供的接口是无法进行扩展,并且从页面到系统已经固定无法改动,例如无法仅仅通过扩展来实现获取系统内部的信息。
通过扩展库就能实现这一个目的。用户需要加载自己编写的扩展库,配合上Javascript的调用,就能实现从Web到平台的操作。原则上Javascript的扩展可以完成任何从页面到系统平台的功能,并且浏览器提供商不必知扩展的具体细节以及具体的功能。浏览器仅是提供一个通道,具体功能取决于电视厂商或SOC厂商所提供的扩展库内。
实施例一
本实施例提供了一种动态扩展浏览器Javascript引擎功能的方法的具体运行方式,如图1所示,具体包括以下步骤:
1、浏览器启动后加载指定目录下的扩展库;失败则返回,不做后续操作;
2、当所扩展库被加载的时候,浏览器调用初始化函数通知系统平台;扩展库对系统平台相对应的模块进行初始化,这部分是预留给平台系统的。当扩展库被加载的时候,浏览器会调用这个初始化函数来通知平台系统扩展库已经加载完成了,可以进行平台的预操作,这部分取决于系统本身,可以为空。
3、浏览器通过调用基础接口来获取扩展库中类名及类内的函数、成员变量的名称;
4、浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
5、Web页面利用类名创建扩展实例;如果类名没有注册过,则抛出异常;
6、浏览器将通过函数名来进行调用,由于这个函数已经在扩展库内实现了,所以等于浏览器直接调用了扩展库内的函数并且以传入的参数来告知Web页面上什么函数被调用了;扩展库的统一函数根据参数的不同(函数名),调用系统平台的接口来实现Web页面需要的功能;例如调用函数来获取本终端的MAC地址,或者电视节目表单;
7、浏览器将通过变量名来进行调用,扩展库的统一读取或写入成员变量函数,一个用于读取成员变量里面存储的数据,一个用于写入成员变量的数据;根据参数的不同(函数名),调用系统平台的接口来读取系统平台的数据,或者写入系统平台。
当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
实施例二
本实施例提供了一种动态扩展浏览器Javascript引擎功能的方法的具体运行方式,如图2所示,包括以下步骤:
1、浏览器启动后加载指定目录下的扩展库;失败则返回,不做后续操作;
2、当所扩展库被加载的时候,浏览器调用初始化函数通知系统平台;扩展库对系统平台相对应的模块进行初始化。这部分是预留给平台系统的;当扩展库被加载的时候,浏览器会调用这个初始化函数来通知平台系统扩展库已经加载完成了,可以进行平台的预操作,这部分取决于系统本身,可以为空;
3、浏览器通过调用基础接口来获取扩展库中类名及类内的函数、成员变量的名称;
4、浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
5、Web页面利用类名创建扩展实例;如果类名没有注册过,则抛出异常;
6、浏览器读取扩展库内的函数指针列表,遍历列表把函数指针相对应的字符串添加至Javascript引擎进行绑定;具体的,浏览器读取扩展库内的函数指针列表,遍历列表把函数指针相对应的字符串添加至Javascript引擎进行绑定,由于接口本来就是扩展库来提供,并且其函数名称都是可见的,因此可以直接一对一的进行绑定;
7、浏览器把调用的成员变量名的函数指针和Javascript引擎进行绑定;具体步骤类似步骤6;
8、当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。例如系统平台通过网络去下载图片,然后通过这个回调机制把图片传给Web页面用于展示。
实施二和实施例一能达到相同的效果,但是实施例二是扩展库来提供接口,由浏览器进行适配,在使用范围上具有特殊性。
上述实施例一和实施例二提供的一种动态扩展浏览器Javascript引擎功能的方法具有以下优势:
1、不使用插件,避免对DOM树的依赖,并且可以在Javascript引擎完成初始话之后第一时间被执行;
2、不使用Javascript扩展静态绑定,本技术不需要知道电视机厂商希望扩展的具体函数名称,并且不需要对整个浏览器进行重新编译;
3、动态绑定客户自己的Javascript接口,所有的扩展接口在浏览器编译的时候不是固定的;
由于本发明实施例的一种动态扩展浏览器Javascript引擎功能的方法是使用动态加载扩展库的方式,并且扩展库内所要扩展的函数名称等不需要在编译浏览器的时候确定,这样能够非但保证了最大程度的灵活性;且通过动态的扩展函数直接连接了Web页面的Javascript和系统平台的系统平台,也突破了Javascript Extension的静态接口,动态使用方式的限制。
实施例三
一种动态扩展浏览器Javascript引擎功能的装置,包括以下模块:
浏览器定制模块,用于定制浏览器,使浏览器的Javascript引擎与扩展库绑定,并提供接口至客户;
扩展库定制模块,用于客户根据需求定制扩展库,并使扩展库与浏览器动态连接,以供浏览器加载;
Web页面定制模块,用于定制Web页面,使Web页面展现从系统平台获取的数据,并调用扩展库中客户定制的函数。
进一步地,浏览器定制模块包括
提供扩展接口基类,包括基础接口函数以及辅助参数类型,用于连接浏览器和扩展库。
进一步地,扩展库定制模块包括
设置单元,扩展库继承浏览器设置的扩展接口基类,并设置实现扩展接口基类的函数;
编译单元,用于将扩展库编译成动态连接库,然后将编译后的动态连接库放在浏览器能读取的指定目录下。
进一步地,Web页面定制模块包括:
创建单元,用于Web页面根据扩展库内的类名创建实例;
调用单元,用于通过创建的实例来调用扩展库内定义的函数或成员变量;
注册单元,用于Web页面注册回调函数,用于系统平台调用;
获取数据单元,用于Web页面通过调用或回调展现从系统平台获取的数据。
进一步地,浏览器通过调用基础接口函数把Web页面中所需要实现的功能传递给加载的扩展库,或系统平台通过扩展库中注册的回调函数把系统平台获取的数据通过异步的方式传递给Web页面;Web页面从而实现控制系统平台,并能展现系统平台内部的数据。
进一步地,浏览器启动后加载指定目录下的扩展库;
当扩展库被加载的时候,浏览器调用初始化函数通知系统平台;
浏览器通过调用基础接口函数来获取扩展库中类名及类内的函数、成员变量的名称;
浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
Web页面利用扩展库内的类名创建扩展实例;
浏览器根据扩展库注册的函数名来调用扩展库的函数
浏览器根据不同的函数名来调用扩展库的函数来读取系统平台的数据,或者写入系统平台。
进一步地,当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
进一步地,浏览器通过成员变量名来调用相对应的函数用于读出数据或写入数据。
进一步地,浏览器启动后加载指定目录下的扩展库;
当所扩展库被加载的时候,浏览器调用初始化函数通知系统平台;
浏览器通过调用基础接口函数来获取扩展库中类名及类内的函数、成员变量的名称;
浏览器把获取的类名、及类内的函数、成员变量的名称在浏览器Javascript引擎内进行注册绑定;
Web页面利用扩展库内的类名创建扩展实例;
浏览器读取扩展库内的函数指针列表,遍历列表把函数指针相对应的字符串添加至Javascript引擎进行绑定;
浏览器把调用的成员变量名的函数指针和Javascript引擎进行绑定;
当系统平台内部发生变化,可以通知扩展库,扩展库通过基础类中的回调机制通知浏览器,浏览器再把变化回调给Web页面进行处理。
本发明实施例是为实现上述实施例,其实现方式同上述实施例,因此,此处将不再赘述。
实施例四
本发明的又一实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述任一项的方法。
该实施例的计算机设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机设备中的执行过程。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。所述存储器也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述计算机设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述计算机设备所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
本发明的又一较佳实施例提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序使计算机执行时实现如上述中任一项的一种动态扩展浏览器Javascript引擎功能的方法。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
机译: 通过动态下载不受信任的浏览器组件来扩展浏览器功能
机译: 动态扩展网络功能的方法和系统-浏览器
机译: 包括扩展单元的电子设备系统,该扩展单元具有用于扩展电子设备的功能的扩展装置,并且可以通过卡连接器连接到电子设备