浏览器插件的生成、发布、加载和更新方法以及系统的制作方法

文档序号:6381765阅读:201来源:国知局
专利名称:浏览器插件的生成、发布、加载和更新方法以及系统的制作方法
技术领域
本申请涉及一种浏览器插件的生成、发布、加载、更新方法以及使用所述方法的系统以及浏览器插件,尤其涉及一种将依赖于浏览器的功能函数封装在插件中,而单独部署在其中调用为相关功能定义的虚拟API的业务逻辑代码,并且通过动态接口加载所述业务逻辑代码,从而实现浏览器插件的快速迭代和更新。
背景技术
为了加强用户粘度或者为用户提供便捷的服务,很多互联网产品提供配套的浏览器插件作为辅助。互联网产品的优点是能够快速迭代并方便维护,而且发布一个版本就能在各种操作系统的浏览器下使用。但是,浏览器插件更像是一个客户端产品,它的更新机制并不像传统互联网产品那样,能够立即上线、立即生效,而是通过浏览器自身的机制检测更新,甚至低版本的浏览器需要用户手动更新插件。此外,不同浏览器的插件API都是不兼容的,因此特定的插件只能在特定的浏览器下使用。以上两个浏览器插件的特性与互联网产品的特性发生了强烈的冲突。传统的开发互联网产品的配套浏览器插件的方式为整个产品的维护、升级和快速迭代带来了巨大的成本和挑战。

发明内容
本发明的目的在于提供一种浏览器插件的生成、发布、加载和更新方法以及使用所述方法的系统和浏览器插件,通过单独部署独立于浏览器的业务逻辑代码,而将依赖于浏览器的代码封装在实际发布到客户端的浏览器插件中,为多种浏览器发布的浏览器插件可共享业务逻辑代码,从而实现浏览器插件的快速开发和快速迭代。根据本发明的一方面,提供一种生成浏览器插件的方法,所述方法包括定义调用至少一个虚拟API的业务逻辑代码;为所述至少一个虚拟API构建适于特定浏览器的API函数;构建用于定位所述业务逻辑代码的插件启动接口 ;构建适于所述特定浏览器的浏览器插件,其中,将用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及构建的适于所述特定浏览器的API函数封装在浏览器插件中。所述的方法可还包括定义一个或多个虚拟API ;其中,定义的业务逻辑代码可调用所述一个或多个虚拟API。所述业务逻辑代码可以是脚本代码。所述的方法可还包括将记录有所述业务逻辑代码的代码文件部署在服务器的特
定位置。所述的方法可还包括在所述特定位置还部署业务逻辑代码的资源文件,其中,所述插件启动接口用于定位所述代码文件以及资源文件。所述的方法可还包括将插件启动接口部署在所述服务器或另一服务器上。
根据本发明的另一方面,提供一种发布浏览器插件的方法,所述方法包括将业务逻辑代码的代码文件部署在第一服务器上;将用于定位所述代码文件的插件启动接口部署在第二服务器的特定位置上;将插件代码发布到公众可访问的指定位置上,以用于客户机下载所述插件代码。其中,业务逻辑代码调用至少一个虚拟API,发布的插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。所述业务逻辑代码可以是脚本代码。所述的方法可还包括在所述特定位置上还部署业务逻辑代码的资源文件,其中,所述插件启动接口用于定位所述代码文件以及资源文件。所述第一服务器和第二服务器可以是同一服务器。根据本发明的另一方面,提供一种加载浏览器插件的方法,所述方法包括,在浏览器插件中通过调用在其中封装的插件启动接口的代码调用部署在第一服务器上的插件启动接口,以定位第二服务器上的业务逻辑代码;从第二服务器加载定位的业务逻辑代码。其中,浏览器插件中的插件代码封装有用于加载所述业务逻辑代码的代码、用于调用部署在第一服务器上的插件启动接口的代码以及适于所述浏览器的实现所述至少一个虚拟API的至少一个API函数,所述插件启动接口用于定位第二服务器上的业务逻辑代码。所述业务逻辑代码可以是脚本代码。所述的方法可还包括在第二服务器上还部署业务逻辑代码的资源文件,其中,所述插件启动接口用于定位所述代码文件以及资源文件。所述第一服务器和第二服务器可以是同一服务器。根据本发明的另一方面,提供一种更新浏览器插件的方法,所述方法包括修改实现特定业务逻辑的业务逻辑代码;将记录有所述修改的业务逻辑代码的第一代码文件部署到第一服务器上的特定位置,其中,在所述特定位置上已部署有第二代码文件,所述第二代码文件记录有修改前的业务逻辑代码,并且第一代码文件与第二代码文件具有不同的文件名;更新先前部署在第二服务器上的插件启动接口,以使插件启动接口定位第一代码文件,其中,所述业务逻辑代码调用至少一个虚拟API,先前发布的插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。所述业务逻辑代码可以是脚本代码。所述的方法可还包括创建所述业务逻辑代码的第一资源文件,并且在所述特定位置上还部署第一资源文件,所述第一资源文件与先前部署的第二资源文件具有不同的文件名,其中,所述插件启动接口用于定位第一代码文件以及第一资源文件。所述第一服务器和第二服务器可以是同一服务器。本发明还提供一种使用上述的浏览器插件的生成、发布、加载和更新方法的系统以及浏览器插件。


通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中
图1是示出根据本发明的示例性实施例的浏览器插件的开发方法的流程图;图2是示出根据本发明的示例性实施例的浏览器插件的发布方法的流程图;图3是示出根据本发明的示例性实施例的浏览器插件的加载方法的流程图;图4是示出根据本发明的示例性实施例的浏览器插件的更新方法的流程图;图5是示出实现根据本发明的示例性实施例的浏览器插件的开发、发布和更新方法的系统的示意图;图6 图12示出根据本发明的示例性实施例的用于浏览器开发的示例性代码。
具体实施例方式以下,将参照附图来详细说明本发明的实施例。在本发明中将浏览器插件分为两个部分,在此称为内核部分和业务逻辑部分。内核部分将被封装为实际发布给客户端的浏览器插件,其包含插件基础框架以及插件中依赖于浏览器的代码,内核部分不包括业务逻辑。业务逻辑部分则如同传统的互联网产品的上线方式,被部署到静态服务器上,所述业务逻辑部分包含业务逻辑代码,所述业务逻辑代码不依赖于诸如FireFox浏览器、Chromo浏览器、搜狗浏览器等的特定的浏览器。为此,根据本发明的示例性实施例,为依赖浏览器的特定功能定义虚拟API (应用程序接口)。相应地,在业务逻辑部分的业务逻辑代码中通过调用定义好的虚拟API来执行所述特定功能,并且将为所述虚拟API构建的适于特定浏览器的API函数封装在所述内核部分。此外,构建指示业务逻辑代码的位置的启动接口,并且内核部分在启动时通过调用所述启动接口来加载所述业务逻辑代码。图5示意性地示出根据本发明的示例性实施例的用于部署本发明的浏览器插件的各个部分的系统。其中,服务器I是用于部署上述的业务逻辑部分的静态服务器;应用库2是公众可访问的公共主机,通常是用于公众访问并下载浏览器插件的应用商店;而服务器3是用于运行服务的服务器,用于部署、运行所述的启动接口,还可运行其他的接口服务。根据访问流量,服务器I和服务器3从物理上可以是同一台服务器。图1是示出根据本发明的示例性实施例的浏览器插件的开发方法的流程图,图6 图12示出根据本发明的示例性实施例的用于浏览器开发的示例性代码。以下将参照图1和图6 图12详细描述根据本发明的示例性实施例的浏览器插件的开发方法。在当前的示例性实施例中,以Firefox和Chrome浏览器为例示出本发明针对不同浏览器开发浏览器插件的方法。当然,本发明不限于这两种浏览器,而是适用于任何已有或未来开发的具有相似工作原理的浏览器。在当前的示例性实施例中,示出在网页上通过点击一个打印按钮来打印当前页面中的全部图片的情形。在不同的浏览器中,用于打印功能而调用的接口函数不同。例如,图
7和图8分别示出在Chrome浏览器和Firefox浏览器中打印图片的接口函数。参照图1,在步骤S110,浏览器插件生成系统为一个或多个特定功能分别定义虚拟应用程序接口(API)。所述特定功能通常为依赖于浏览器的任何功能,例如执行打印的功能。为了屏蔽不同浏览器中用于打印的功能的接口函数的差异,定义如图6示出的用于在网页中执行打印功能的虚拟API的示例代码。其中,Extension. printlmgO是所述打印API,以图片URL、打印宽度和打印高度作为参数。可以看出,针对所述两种浏览器,用于打印的类、方法以及参数都不相同。在步骤S120,浏览器插件生成系统定义在其中调用至少一个所述虚拟API的业务逻辑代码(也就是前述的浏览器插件的业务逻辑部分)。根据本发明的可选实施例,所述业务逻辑代码可以是脚本。图12示出调用图6中的打印API的脚本代码,其中,在printBtn被点击时,获得页面上的全部图像,此后,针对每个图像,调用Extension. printlmgO。在此,可以看出,所述业务逻辑代码不包括依赖于浏览器的代码。记录有所述业务逻辑代码的代码文件将被部署到服务器的特定位置,所述特定位置通常是服务器上的某个目录。根据本发明的优选实施例,在所述特定位置还部署业务逻辑代码的资源文件,如CSS文件。在步骤S130,浏览器插件生成系统为所述至少一个虚拟API构建适于特定浏览器的API函数。针对图6中示出的打印API,为Firefox浏览器的插件定义如图11的上端所示的API函数,在所述API函数中调用在Firefox浏览器中用于打印的Firefox. print ()接口函数;另一方面,针对同一个API,为Chrome浏览器的插件定义的API函数如图11的下端所示,在所述API函数中调用在Chrome浏览器中用于打印的Chrome. printlmgO接口函数。此后,在步骤S140,浏览器插件生成系统构建用于定位所述业务逻辑代码的插件启动接口。假设浏览器插件在启动时调用的http接口地址为http://server-host,com/abc/extension-start,记录有图12所示的用于打印的业务逻辑代码的文件被命名为print1. 0. js,图9示出所述http接口返回的结果,即构建的用于定位所述业务逻辑代码的插件启动接口。根据本发明的示例性实施例,所述插件启动接口用于定位位于static-host上的print1. 0. js文件以及所述业务逻辑代码的资源文件print1. 0. css。所述插件启动接口可被部署在部署业务逻辑代码的代码文件的服务器上,也可被部署在另一服务器上。在步骤S150,所述浏览器插件生成系统构建适于特定浏览器的浏览器插件(也就是前述的浏览器插件的内核部分)。在构建将被发布的浏览器插件的处理中,除了封装插件基础框架以外,还在所述浏览器插件中封装在步骤S130构建的依赖于浏览器的代码(如图
11中示出的用于Firefox浏览器或Chrome浏览器的API函数)、用于调用在步骤S140构建的启动接口的代码以及用于加载在步骤S120定义的业务逻辑代码。图10示例性地示出浏览器插件的加载框架,其中,ajax. get()用于调用启动接口,而IoadCssO和IoadScriptO用于加载业务逻辑代码。在不同的浏览器中,加载框架比较相似。由此,完成本发明的生成浏览器插件的方法。根据本发明的另一示例性实施例,不执行步骤S110,而是在步骤S120,浏览器插件生成系统定义在其中调用至少一个预先定义的虚拟API的业务逻辑代码。也就是说,步骤SllO不是必需的步骤,所述至少一个虚拟API可以由本发明的浏览器插件生成系统定义,也可以是预先由第三方定义的虚拟API,只要是业务逻辑代码可以调用以实现特定功能的虚拟API即可。通过上述关于本发明的示例性实施例的浏览器插件的生成方法的描述可以看出,本发明将插件中依赖于浏览器的代码和独立于浏览器的代码分离,而将所述独立于浏览器的代码单独进行部署,从而当业务逻辑发生改变时,不需要更新整个浏览器插件,而仅通过修改的插件启动插口可调用更新的业务逻辑代码,实现浏览器插件的快速迭代和更新。图2是示出根据本发明的示例性实施例的浏览器插件的发布方法的流程图。如前参照图1所述来生成在此要发布的浏览器插件,即浏览器插件的业务逻辑代码调用至少一个虚拟API,封装在浏览器插件中的插件代码(前述的内核部分)封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。参照图2,在步骤S210,浏览器插件发布系统将业务逻辑代码的代码文件部署在第一服务器(例如图6中的服务器I)上。所述代码文件例如记录为如图12所述的脚本代码的代码文件。在步骤S220,浏览器插件发布系统将用于定位所述代码文件的插件启动接口部署在第二服务器(例如图6中的服务器3)的特定位置上。例如,可将如图9所示的作为插件启动接口的extension-start部署在第二服务器上。根据本发明的可选实施例,所述第一服务器和第二服务器是同一服务器。在步骤S230,浏览器插件发布系统将封装的插件代码作为浏览器插件发布到公众可访问的指定位置(如图6中的应用库2)上,以用于客户机下载所述浏览器插件。根据本发明的优选实施例,浏览器插件发布系统在所述特定位置上还部署业务逻辑代码的资源文件,所述插件启动接口用于定位所述代码文件以及资源文件。图3是示出根据本发明的示例性实施例的浏览器插件的加载方法的流程图。如前参照图1所述来生成在此要发布的浏览器插件,即浏览器插件的业务逻辑代码调用至少一个虚拟API,封装在浏览器插件中的插件代码封装有用于调用部署在第一服务器上的插件启动接口的代码、用于加载所述业务逻辑代码的代码以及适于所述浏览器的实现所述至少一个虚拟API的至少一个API函数,所述插件启动接口用于定位第二服务器上的业务逻辑代码。参照图3,当在步骤S310浏览器插件启动时,在步骤S320,浏览器插件调用在其中封装的插件启动接口的代码,以调用部署在第一服务器上的插件启动接口。这样,浏览器插件可定位第二服务器上的业务逻辑代码。如图10所示的插件代码通过调用ajax. get()来调用插件启动接口,所述接口返回如图9所示的结果。在此基础上,在步骤S330,浏览器插件加载插件启动接口返回的业务逻辑代码。自此,完成所述浏览器插件的加载。图4是示出根据本发明的示例性实施例的浏览器插件的更新方法的流程图。如前参照图1所述来生成在此要发布的浏览器插件,即浏览器插件的业务逻辑代码调用至少一个虚拟API,插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。在图12示出的业务逻辑代码中,打印图片的分辨率是800*600。现在假设需要将代码中的800*600改为1024*768。参照图4,在步骤S410,浏览器插件更新系统修改实现特定业务逻辑的业务逻辑代码。例如,在图12的示例中,将作为调用参数的800和600分别修改为1024和768。在步骤S420,浏览器插件更新系统将记录有所述修改的业务逻辑代码的第一代码文件部署到第一服务器上的特定位置。在所述特定位置上已部署有先前版本的第二代码文件,第一代码文件与第二代码文件具有不同的文件名。例如,将记录有步骤S410的业务逻辑代码的代码文件命名为print_l.1. js,并且将print_l.1. js先前部署print_l. 0. js的
同一位置。根据本发明的优选实施例,浏览器插件还创建所述业务逻辑代码的第一资源文件,并且在所述特定位置上还部署第一资源文件,所述第一资源文件与先前部署的第二资源文件具有不同的文件名。例如,可创建相应于print_l.1. js的资源文件print_l.1. css,并且在先前已部署print_. 0. css的同一位置部署print_l.1. css。在步骤S430,浏览器插件更新系统更新先前部署在第二服务器上的插件启动接口,以使插件启动接口定位第一代码文件。当存在第一代码文件的资源文件时,更新的插件启动接口还用于定位第一资源文件。例如,修改如图8所示的插件启动接口,将其中的print_l. 0. js 和 print_l. 0. css 分别更新为 print_l.1. js 和 print_l.1. css。根据本发明的可选实施例,所述第一服务器和第二服务器是同一服务器。至此,当用户再次打开浏览器,启动先前下载的同一浏览器插件时,不需要重新下载浏览器插件,就可以通过调用更新的插件启动接口,加载已更新的业务逻辑代码。此外,由于单独部署的业务逻辑代码独立于浏览器,不同浏览器可共享同一业务逻辑代码,因此同一业务逻辑代码的更新适用于为多种浏览器发布的浏览器插件,便于更新和迭代。本发明还提供一种用于实现浏览器插件的生成、发布、加载和更新方法的系统以及浏览器插件。尽管已参照优选实施例表示和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。
权利要求
1.一种生成浏览器插件的方法,所述方法包括 定义调用至少一个虚拟应用程序接口(API)的业务逻辑代码; 为所述至少一个虚拟API构建适于特定浏览器的API函数; 构建用于定位所述业务逻辑代码的插件启动接口; 构建适于所述特定浏览器的浏览器插件,其中,将用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及构建的适于所述特定浏览器的API函数封装在浏览器插件中。
2.如权利要求1所述的方法,还包括定义一个或多个虚拟API, 其中,定义的业务逻辑代码调用所述一个或多个虚拟API。
3.如权利要求1所述的方法,其特征在于,所述业务逻辑代码为脚本代码。
4.如权利要求3所述的方法,还包括将记录有所述业务逻辑代码的代码文件部署在服务器的特定位置。
5.如权利要求4所述的方法,还包括在所述特定位置还部署业务逻辑代码的资源文件, 其中,所述插件启动接口用于定位所述代码文件以及资源文件。
6.如权利要求5所述的方法,还包括将插件启动接口部署在所述服务器或另一服务器上。
7.一种发布浏览器插件的方法,所述方法包括 将业务逻辑代码的代码文件部署在第一服务器上; 将用于定位所述代码文件的插件启动接口部署在第二服务器的特定位置上; 将插件代码发布到公众可访问的指定位置上,以用于客户机下载所述插件代码, 其中,业务逻辑代码调用至少一个虚拟API,发布的插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。
8.如权利要求7所述的方法,其特征在于,所述业务逻辑代码为脚本代码。
9.如权利要求8所述的方法,还包括在所述特定位置上还部署业务逻辑代码的资源文件, 其中,所述插件启动接口用于定位所述代码文件以及资源文件。
10.如权利要求1-9中任一项所述的方法,其中,所述第一服务器和第二服务器是同一服务器。
11.一种加载浏览器插件的方法,所述方法包括,在浏览器插件中 通过调用在其中封装的插件启动接口的代码调用部署在第一服务器上的插件启动接口,以定位第二服务器上的业务逻辑代码; 从第二服务器加载定位的业务逻辑代码, 其中,浏览器插件中的插件代码封装有用于加载所述业务逻辑代码的代码、用于调用部署在第一服务器上的插件启动接口的代码以及适于所述浏览器的实现所述至少一个虚拟API的至少一个API函数,所述插件启动接口用于定位第二服务器上的业务逻辑代码。
12.如权利要求11所述的方法,其特征在于,所述业务逻辑代码为脚本代码。
13.如权利要求12所述的方法,还包括在第二服务器上还部署业务逻辑代码的资源文件, 其中,所述插件启动接口用于定位所述代码文件以及资源文件。
14.如权利要求11-13中任一项所述的方法,其中,所述第一服务器和第二服务器是同一服务器。
15.一种更新浏览器插件的方法,所述方法包括 修改实现特定业务逻辑的业务逻辑代码; 将记录有所述修改的业务逻辑代码的第一代码文件部署到第一服务器上的特定位置,其中,在所述特定位置上已部署有第二代码文件,所述第二代码文件记录有修改前的业务逻辑代码,并且第一代码文件与第二代码文件具有不同的文件名; 更新先前部署在第二服务器上的插件启动接口,以使插件启动接口定位第一代码文件, 其中,所述业务逻辑代码调用至少一个虚拟API,先前发布的插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。
16.如权利要求15所述的方法,其特征在于,所述业务逻辑代码为脚本代码。
17.如权利要求16所述的方法,还包括创建所述业务逻辑代码的第一资源文件,并且在所述特定位置上还部署第一资源文件,所述第一资源文件与先前部署的第二资源文件具有不同的文件名, 其中,所述插件启动接口用于定位第一代码文件以及第一资源文件。
18.如权利要求15-17中任一项所述的方法,其中,所述第一服务器和第二服务器是同一服务器。
19.一种生成浏览器插件的系统,所述系统包括 第一模块,用于定义调用至少一个虚拟应用程序接口(API)的业务逻辑代码; 第二模块,用于为所述至少一个虚拟API构建适于特定浏览器的API函数; 第三模块,用于构建用于定位所述业务逻辑代码的插件启动接口 ; 第四模块,用于构建适于所述特定浏览器的浏览器插件,其中,将用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及构建的适于所述特定浏览器的API函数封装在浏览器插件中。
20.如权利要求19所述的系统,还包括 第五模块,用于定义一个或多个虚拟API, 其中,第一模块定义的业务逻辑代码调用所述一个或多个虚拟API。
21.如权利要求19所述的系统,其特征在于,所述业务逻辑代码为脚本代码。
22.如权利要求21所述的系统,还包括 第六模块,用于将记录有所述业务逻辑代码的代码文件部署在服务器的特定位置。
23.如权利要求22所述的系统,还包括 第七模块,用于在所述特定位置还部署业务逻辑代码的资源文件, 其中,所述插件启动接口用于定位所述代码文件以及资源文件。
24.如权利要求23所述的系统,还包括 第八模块,用于将插件启动接口部署在所述服务器或另一服务器上。
25.—种发布浏览器插件的系统,所述系统包括 第一模块,用于将业务逻辑代码的代码文件部署在第一服务器上; 第二模块,用于将用于定位所述代码文件的插件启动接口部署在第二服务器的特定位置上; 第三模块,用于将插件代码发布到公众可访问的指定位置上,以用于客户机下载所述插件代码, 其中,业务逻辑代码调用至少一个虚拟API,发布的插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。
26.如权利要求25所述的系统,其特征在于,所述业务逻辑代码为脚本代码。
27.如权利要求26所述的系统,还包括 第四模块,用于在所述特定位置上还部署业务逻辑代码的资源文件, 其中,所述插件启动接口用于定位所述代码文件以及资源文件。
28.如权利要求25-27中任一项所述的系统,其中,所述第一服务器和第二服务器是同一服务器。
29.—种浏览器插件,包括 第一模块,通过调用在其中封装的插件启动接口的代码调用部署在第一服务器上的插件启动接口,以定位第二服务器上的业务逻辑代码; 第二模块,从第二服务器加载定位的业务逻辑代码, 其中,浏览器插件中的插件代码封装有用于加载所述业务逻辑代码的代码、用于调用部署在第一服务器上的插件启动接口的代码以及适于所述浏览器的实现所述至少一个虚拟API的至少一个API函数,所述插件启动接口用于定位第二服务器上的业务逻辑代码。
30.如权利要求29所述的浏览器插件,其特征在于,所述业务逻辑代码为脚本代码。
31.如权利要求30所述的浏览器插件,还包括在第二服务器上还部署业务逻辑代码的资源文件, 其中,所述插件启动接口用于定位所述代码文件以及资源文件。
32.如权利要求29-31中任一项所述的浏览器插件,其中,所述第一服务器和第二服务器是同一服务器。
33.一种更新浏览器插件的系统,所述系统包括 第一模块,用于修改实现特定业务逻辑的业务逻辑代码; 第二模块,用于将记录有所述修改的业务逻辑代码的第一代码文件部署到第一服务器上的特定位置,其中,在所述特定位置上已部署有第二代码文件,所述第二代码文件记录有修改前的业务逻辑代码,并且第一代码文件与第二代码文件具有不同的文件名; 第三模块,用于更新先前部署在第二服务器上的插件启动接口,以使插件启动接口定位第一代码文件, 其中,所述业务逻辑代码调用至少一个虚拟API,先前发布的插件代码封装有用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码以及适于所述特定浏览器的实现所述至少一个虚拟API的至少一个API函数。
34.如权利要求33所述的系统,其特征在于,所述业务逻辑代码为脚本代码。
35.如权利要求34所述的系统,还包括 第四模块,用于创建所述业务逻辑代码的第一资源文件,并且在所述特定位置上还部署第一资源文件,所述第一资源文件与先前部署的第二资源文件具有不同的文件名, 其中,所述插件启动接口用于定位第一代码文件以及第一资源文件。
36.如权利要求1-3中任一项所述的系统,其中,所述第一服务器和第二服务器是同一服务器。
全文摘要
提供一种浏览器插件的生成方法、发布方法、加载方法和更新方法以及系统。一种生成浏览器插件的方法包括为一个或多个特定功能分别定义虚拟应用程序接口(API);定义调用至少一个所述虚拟API的业务逻辑代码;为所述至少一个虚拟API构建适于特定浏览器的API函数;构建用于定位所述业务逻辑代码的插件启动接口;构建适于所述特定浏览器的浏览器插件,其中,将用于调用所述插件启动接口的代码、用于加载所述业务逻辑代码的代码以及构建的适于所述特定浏览器的API函数封装在浏览器插件中。
文档编号G06F9/445GK103064663SQ20121046970
公开日2013年4月24日 申请日期2012年11月19日 优先权日2012年11月19日
发明者王晨, 赵先烈 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1