CN110968359A - 一种启动浏览器插件的方法及装置 - Google Patents
一种启动浏览器插件的方法及装置 Download PDFInfo
- Publication number
- CN110968359A CN110968359A CN201811159377.6A CN201811159377A CN110968359A CN 110968359 A CN110968359 A CN 110968359A CN 201811159377 A CN201811159377 A CN 201811159377A CN 110968359 A CN110968359 A CN 110968359A
- Authority
- CN
- China
- Prior art keywords
- browser
- browser plug
- interface
- plug
- script module
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000004806 packaging method and process Methods 0.000 claims abstract description 25
- 230000001419 dependent effect Effects 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 34
- 238000003780 insertion Methods 0.000 claims description 12
- 230000037431 insertion Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 40
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 51
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种启动浏览器插件的方法及装置,该方法包括:当浏览器需要启动浏览器插件时,所述浏览器调用预先创建的浏览器插件的后台端;所述浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息,所述应用脚本模块至少由启动所述浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;所述浏览器插件的后台端基于所述应用脚本模块的路径信息,加载所述应用脚本模块;在所述应用脚本模块加载完成后,所述浏览器插件的后台端完成所述浏览器插件的启动。如此,能够降低浏览器插件的安全隐患,提高浏览器插件的运行效率,并减少实现浏览器插件的功能的脚本文件的大小。
Description
技术领域
本发明实施例涉及前端开发技术领域,尤其涉及一种启动浏览器插件的方法及装置。
背景技术
浏览器插件是使用Web技术开发、用于扩展增强浏览器的功能的扩展程序。例如,浏览器插件可以用于实现诸如捕捉特定网页的内容、捕捉用户浏览动作、改变浏览器地址栏/起始页/书签/Tab等显示界面元素的行为、修改网页内容等功能。
目前的浏览器插件如Chrome插件,只提供单脚本文件载入的方式,使得浏览器插件不支持脚本模块化载入,进而更无法载入混淆打包后的脚本模块。这样,在开发人员开发浏览器插件来扩展浏览器的功能的过程中,无法将实现浏览器插件的功能的源代码进行混淆打包,一方面导致实现浏览器插件的功能的代码必须开源,使得任何人都可以查看到浏览器插件的源代码,会带来安全隐患,另一方面,往往会导致浏览器插件的源代码文件较大、浏览器插件的源代码运行效率较低的问题。
发明内容
有鉴于此,本发明实施例提供一种启动浏览器插件的方法及装置,通过加载混淆打包的脚本模块来实现启动浏览器插件,能够降低浏览器插件的安全隐患,提高浏览器插件的运行效率,并减少实现浏览器插件的功能的脚本文件的大小。
为解决上述技术问题,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供一种启动浏览器插件的方法,所述方法包括:当浏览器需要启动浏览器插件时,所述浏览器调用预先创建的浏览器插件的后台端;所述浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,所述应用脚本模块至少由启动所述浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;所述浏览器插件的后台端基于所述应用脚本模块的路径信息,加载所述应用脚本模块;在所述应用脚本模块加载完成后,所述浏览器插件的后台端完成所述浏览器插件的启动。
第二方面,本发明实施例提供一种启动浏览器插件的装置,所述装置包括:浏览器和浏览器插件,其中,所述浏览器,用于当所述浏览器需要启动浏览器插件时,调用预先创建的浏览器插件的后台端;调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,所述应用脚本模块至少由启动所述浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;所述浏览器插件的后台端,用于基于所述应用脚本模块的路径信息,加载所述应用脚本模块;在所述应用脚本模块加载完成后,所述浏览器插件的后台端完成所述浏览器插件的启动。
第三方面,本发明实施例提供一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述启动浏览器插件的方法的步骤。
第四方面,本发明实施例提供一种电子设备,所述电子设备包括:至少一个处理器;以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述启动浏览器插件的方法的步骤。
本发明实施例提供的启动浏览器插件的方法及装置,当浏览器需要启动浏览器插件时,浏览器就可以调用预先创建的浏览器插件的后台端,然后,浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,应用脚本模块由启动浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;接下来,浏览器插件的后台端就可以基于应用脚本模块的路径信息,加载应用脚本模块;直至应用脚本模块加载完成后,浏览器插件的后台端就可以完成浏览器插件的启动。这样,浏览器能够通过依赖接口传入应用脚本模块的路径信息,来使得浏览器插件的后台端能够载入混淆打包的应用脚本模块实现启动浏览器插件,从而,使得浏览器插件能够支持载入混淆打包的脚本模块。那么,在开发浏览器插件来扩展浏览器的功能的过程中,能够将浏览器插件的功能的源代码进行混淆打包,无需将浏览器插件的功能的代码开源,降低了浏览器插件开发过程中的安全隐患,而且提高了浏览器插件的运行效率,并减少了实现浏览器插件的功能的脚本文件的大小。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例中的启动浏览器插件的方法的流程示意图;
图2为本发明实施例中的启动浏览器插件的装置的结构示意图;
图3为本发明实施例中的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供一种启动浏览器插件的方法,该方法可以应用于各种需要通过加载浏览器插件的应用脚本模块来启动浏览器插件的场合。
这里,浏览器插件是指使用Web开发技术所开发的、能够运行在浏览器中的、用于增强浏览器功能的扩展程序。在实际应用中,上述浏览器插件可以由各种类型的浏览器中的插件来实现。例如,上述浏览器插件可以为Chrome浏览器的插件,也可以为360浏览器的插件,还可以为其它类型的浏览器的插件,如搜狗浏览器、Safari浏览器、QQ浏览器等。这里,本发明实施例不做具体限定。
具体来说,上述应用脚本模块至少由启动浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成。当然,根据所需要开发的浏览器插件的功能,上述应用脚本模块还可以由启动浏览器插件所需的入口脚本模块、入口脚本模块所依赖的依赖脚本模块和资源文件混淆打包生成。这里,资源文件可以为图片、CSS(Cascading StyleSheets,层叠样式表)文件等,可以被入口脚本模块和依赖脚本模块调用。
在实际应用中,入口脚本模块及其所依赖的依赖脚本模块是指使用诸如JavaScript(简称JS)、HTML(Hyper Text Markup Language,超文本标记语言)、Scala、VBScript、ActionScript、MAX Script、ASP、JSP、PHP、Perl、Shell、python等脚本语言所编写的模块。示例性地,入口脚本模块及其所依赖的依赖脚本模块可以是通过JS脚本语言编写的,则应用脚本模块为混淆打包的JS模块。
图1为本发明实施例中的启动浏览器插件的方法的流程示意图,参见图1所示,该启动浏览器插件的方法可以包括:
S101:当浏览器需要启动浏览器插件时,浏览器调用预先创建的浏览器插件的后台端;
在实际应用中,浏览器插件的后台端是指浏览器插件的background端,为浏览器插件中的重要组成部分,用来执行浏览器插件的主要功能,浏览器插件的后台端的权限非常高,可以调用浏览器提供的应用接口以及浏览器插件的应用接口,例如,浏览器插件的单文件插入接口。浏览器插件的后台端被浏览器调用而被打开,会一直运行在浏览器的后台中,直至浏览器关闭才会被关闭。
在实际应用中,可以通过各种事件来触发浏览器调用预先创建的浏览器插件的后台端。举例来说,可以在浏览器启动的时候自动加载首页面时触发浏览器调用浏览器插件的后台端,也可以是指在浏览器启动后,用户在浏览器的地址栏中输入目标页面的网址并按下回车时触发浏览器调用浏览器插件的后台端,当然,还可以为其它情况,如从当前页面跳转到目标页面时触发浏览器调用浏览器插件的后台端。
在具体实施过程中,上述S101可以包括:当浏览器启动时,浏览器通过预设的浏览器插件的配置文件载入混淆打包的后台脚本文件,创建出浏览器插件的后台端;浏览器调用浏览器插件的后台端。
具体来说,为了能够启动该浏览器插件,开发人员可以预先创建出该浏览器插件的配置文件,这样,当浏览器启动时,浏览器就可以根据该浏览器插件的配置文件来载入该混淆打包的后台脚本文件,从而,创建出该浏览器插件的后台端,然后,浏览器就可以调用该浏览器插件的后台端,以便通过浏览器插件的后台端加载实现浏览器功能的应用脚本文件,来实现启动浏览器插件。
在实际应用中,混淆打包的后台脚本文件可以通过HTML脚本语言来实现,也可以通过JS脚本语言来实现,当然,还可以通过其它脚本语言来实现,这里,本发明实施例不做具体限定。
示例性地,开发人员可以预先通过HTML脚本语言编写出用于实现浏览器插件的后台端的功能的HTML代码,生成原始的后台端的HTML文件,然后通过Web前端资源混淆打包工具,如webpack,来将原始的后台端的HTML文件进行混淆打包处理,获得该混淆打包的后台端的HTML文件,即为混淆打包的后台脚本文件。
那么,由于混淆打包的后台脚本文件是经过混淆打包处理的,这样,该混淆打包的后台脚本文件的大小是要小于混淆打包前的原始的后台脚本文件的大小的,而且,其他人员无法查看混淆打包的后台脚本文件中用于实现浏览器插件的后台端的源代码,能够提高浏览器插件的安全性。
在具体实施过程中,浏览器插件的配置文件是一个浏览器插件必不可少的文件,用来配置所有与浏览器插件相关的配置,例如,浏览器插件的配置文件可以配置浏览器插件的名称、版本号、后台端、需要直接注入脚本文件的目标页面、需要注入到目标页面的控制脚本文件等配置信息。示例性地,当上述浏览器插件由Chrome插件来实现时,上述浏览器插件的配置文件可由manifest.json文件来实现。
举例来说,假如混淆打包的后台脚本文件是由background.html来实现的,目标页面是指与http://www.gridsum.com//*匹配的所有页面,控制脚本文件是由switch.js来实现的,那么,上述浏览器插件的配置文件的内容可以如下表1所示。
表1
在本发明另一实施例中,为了能够传入启动浏览器插件所需的应用脚本模块的路径信息,还需要预先注册出依赖接口,那么,在具体实施过程中,在上述S101之后,上述方法还可以包括:浏览器插件的后台端基于预设的依赖接口的脚本文件,在目标页面中注册依赖接口。
其中,依赖接口的脚本文件包含注册依赖接口所需的脚本代码,用于实现依赖接口的功能;依赖接口用于引入脚本模块。
具体来说,在浏览器创建出浏览器插件的后台端后,当浏览器需要打开配置文件中所配置的目标页面时,浏览器可以调用该浏览器插件的后台端基于预设的依赖接口的脚本文件,在该目标页面中注册出依赖接口,以便后续通过调用依赖接口来传入所需的应用脚本模块的路径信息。
在具体实施过程中,上述依赖接口可以由require接口来实现。在实际应用中,上述依赖接口的脚本文件可以是由开发人员根据在Web前端开发中所需的实现JS模块化的规范,如AMD(Asynchronous Module Definition,异步模块定义)规范、CMD(Common ModuleDefinition,通用模块定义)规范等,通过JS语言预先编写出的用于实现require接口的功能的代码,然后根据该代码所生成的JS文件。
在具体实施过程中,为了实现注册依赖接口,上述浏览器插件的后台端基于预设的依赖接口的脚本文件,在目标页面中注册依赖接口的步骤可以包括:浏览器插件的后台端通过单文件插入接口将预设的依赖接口的脚本文件插入至目标页面中。
具体来说,在浏览器插件的后台端被浏览器调用后,浏览器插件的后台端就可以通过单文件插入接口将该依赖接口的脚本文件注入到该目标页面中,这样,就会触发该目标页面运行该依赖接口的脚本文件中的脚本代码,实现在目标页面中注册依赖接口。
在实际应用中,当上述依赖接口的脚本文件由JS文件来实现时,上述单文件插入接口可以通过Chrome插件所提供的chrome.tabs.executeScript()语句来实现。例如,chrome.tabs.executeScript(tabId,details,callback),其中,第一个参数tabId,是指运行JS文件的页面的标签ID;第二个参数details,是指要插入的JS代码或者要插入的JS文件;第三个参数callback,是指所有JS文件执行后会被调用的回调接口。
S102:浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息;
具体来说,在需要启动浏览器插件时,浏览器就可以通过调用预先注册的依赖接口来传入应用脚本模块的路径信息,以便浏览器插件的后台端基于应用脚本模块的路径信息,来加载应用脚本模块,实现启动浏览器插件。
其中,应用脚本模块至少由启动浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成。当然,根据所需要开发的浏览器插件的功能,上述应用脚本模块还可以由启动浏览器插件所需的入口脚本模块、入口脚本模块所依赖的依赖脚本模块和资源文件混淆打包生成。这里,资源文件可以为图片、CSS(Cascading Style Sheets,层叠样式表)文件等,可以被入口脚本模块和依赖脚本模块调用。
示例性地,以应用脚本模块由启动浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成为例,假如实现浏览器插件的功能所需的入口脚本模块为entry.js,在入口脚本模块中通过依赖接口调用了依赖脚本模块utiliy1.js和utiliy2.js,而utiliy1.js又调用了utiliy2.js。那么,为了获得浏览器插件的应用脚本模块,可以通过Web前端资源混淆打包工具,如webpack,将entry.js、utiliy1.js和utiliy2.js进行混淆打包处理后,就可以得到浏览器插件的应用脚本模块bundle.js。
这里,应用脚本模块就是一个用于实现浏览器插件的功能的脚本文件。但是,应用脚本模块与普通的脚本文件的区别在于:应用脚本模块是由具有依赖关系的多个脚本模块经过混淆打包处理所生成的,其他人无法看到源代码,而普通的脚本文件并未经过混淆打包处理,只要能拿到该普通的脚本文件,其他人就可以看到源代码。
在实际应用中,由于浏览器插件的应用脚本模块是经过混淆打包处理的,这样,该浏览器插件的应用脚本模块的大小要小于入口脚本模块及其所依赖的依赖脚本模块的大小的总和,而且,其他人员无法查看浏览器插件的应用脚本模块中用于实现浏览器插件的功能的源代码,能够提高浏览器插件的安全性。
具体来说,上述入口脚本模块包括用于实现某一功能的浏览器插件的入口脚本代码,该上述入口脚本模块能够在载入浏览器插件的应用脚本模块时提供入口代码,该入口代码中通过依赖接口调用了实现浏览器插件的功能所需要使用全部的脚本模块。这样,在需要载入浏览器插件的应用脚本模块时,首先会加载该入口脚本模块,在运行该入口脚本模块的入口代码的过程中,能够将该入口脚本模块所依赖的依赖脚本模块加载完成,从而,实现将浏览器插件的应用脚本模块加载完成。
在实际应用中,根据实现浏览器插件的功能所需要的脚本模块的数量的不同,上述入口脚本模块所依赖的依赖脚本模块的数量也相应的不同。这里,上述依赖脚本模块的数量可以为一个,也可以为多个,如两个、三个等,本发明实施例对入口脚本模块所依赖的依赖脚本模块的数量不做具体限定。此外,上述依赖脚本模块可以依赖其它子依赖脚本模块,也可以不依赖其它子依赖脚本模块。
在本发明另一实施例中,在上述S102之前,上述方法还可以包括:浏览器通过浏览器插件的配置文件将预设的控制脚本文件插入至目标页面中。
这里,控制脚本文件能够控制浏览器插件的启动,用于调用依赖接口。
在实际应用中,控制脚本文件可以使用JS脚本语言来编写。当然,也可以使用其它脚本语言来编写,如HTML语言等。本发明实施例不做具体限定。
具体来说,浏览器可以通过浏览器插件的配置文件将预设的控制脚本文件插入至目标页面中,浏览器就会将已经插入的控制脚本文件在目标页面内部运行。这样,在浏览器运行控制脚本文件中的脚本代码的过程中,浏览器就可以一直对用户的浏览行为进行监控,当浏览器发生了如接收到预设操作或者预设消息等触发事件时,浏览器就会监测到控制脚本文件中预设的触发事件,确定需要开启浏览器插件,此时,浏览器就可以通过该控制脚本文件来调用依赖接口,以便载入浏览器插件的的应用脚本模块来启动浏览器插件。
其中,触发事件能够指示需要启动浏览器插件。
示例性地,上述触发事件可以是指用户在浏览器当前显示的目标页面上进行预设操作,如用户在目标页面按下F2快捷键、用户按下浏览器插件的启动按钮,也可以是浏览器接收到用于启动某一扩展程序的启动消息,当然,还可以为其它事件。在实际应用中,上述触发事件的具体内容可由本领域技术人员根据具体实施情况预先在控制脚本文件中设置。
在本发明另一实施例中,为了能够确定应用脚本模块已经完成加载,以便浏览器插件的后台端完成浏览器插件的启动,上述S102可以包括:浏览器通过控制脚本文件调用依赖接口传入应用脚本模块的路径信息,并传入回调接口,其中,回调接口被调用时能够指示已完成应用脚本模块的加载。
在实际应用中,当浏览器插件的应用脚本模块被加载成功后,浏览器插件的后台端就会调用该回调接口,而在回调接口将被调用时,所加载的应用脚本模块会以参数形式传入该回调接口,从而,在浏览器插件的后台端通过回调接口调用浏览器插件的插件启动接口时,由于应用脚本模块已经加载成功,那么,浏览器插件的后台端就可以使用应用脚本模块所提供的模块方法,从而就可以完成浏览器插件的启动。
S103:浏览器插件的后台端基于应用脚本模块的路径信息,加载应用脚本模块;
在具体实施过程中,上述S103可以包括:浏览器插件的后台端根据应用脚本模块的路径信息,获取应用脚本模块;浏览器插件的后台端通过单文件插入接口将应用脚本模块插入至目标页面中。
具体来说,在浏览器插件的后台端获得应用脚本模块的路径信息后,接下来,为了加载完成应用脚本模块,浏览器插件的后台端就可以根据应用脚本模块的路径信息,查找到该应用脚本模块,并通过单文件插入接口将应用脚本模块插入至目标页面中。这样,就会触发该目标页面运行该应用脚本模块,触发应用脚本模块调用定义接口,这样,浏览器插件的后台端就可以通过应用脚本模块调用定义接口完成应用脚本模块的加载。
在本发明另一实施例中,在上述S103之前,上述方法还可以包括:浏览器插件的后台端基于预设的定义接口的脚本文件,在目标页面中注册定义接口。
其中,定义接口的脚本文件包含注册定义接口所需的脚本代码,用于实现定义接口的功能;定义接口用于定义脚本模块,在定义接口获得脚本模块的模块方法时会运行该脚本模块的方法。
在具体实施过程中,上述定义接口可以由define接口来实现。在实际应用中,上述定义接口的脚本文件可以是由开发人员根据在Web前端开发中所需的实现JS模块化的规范,如AMD规范、CMD规范等,通过JS语言预先编写出能够实现define接口的功能的代码,然后根据该代码所生成的JS文件。
在具体实施过程中,为了实现注册定义接口,上述浏览器插件的后台端基于预设的定义接口的脚本文件,在目标页面中注册定义接口的步骤可以包括:浏览器插件的后台端通过单文件插入接口将预设的定义接口的脚本文件插入至目标页面中。
具体来说,在浏览器插件的后台端被浏览器调用后,浏览器插件的后台端就可以通过单文件插入接口将该定义接口的脚本文件插入到该目标页面中,这样,就会触发该目标页面运行该定义接口的脚本文件中的脚本代码,实现在目标页面中注册依赖接口。
在实际应用中,上述单文件插入接口可以通过Chrome插件所提供的chrome.tabs.executeScript()语句来实现。
S104:在应用脚本模块加载完成后,浏览器插件的后台端完成浏览器插件的启动。
在具体实施过程中,上述S104可以包括:在应用脚本模块加载完成后,浏览器插件的后台端通过应用脚本模块调用浏览器插件的插件启动接口启动浏览器插件。
这里,浏览器插件的插件启动接口被调用时能够实现启动浏览器插件。
在具体实施过程中,上述S104还可以包括:浏览器插件的后台端通过应用脚本模块调用定义接口,并向定义接口传入应用脚本模块的模块方法;当定义接口获得应用脚本模块的模块方法时,浏览器插件的后台端通过定义接口运行应用脚本模块的模块方法;在运行完应用脚本模块的模块方法后,浏览器插件的后台端通过定义接口调用回调接口,并通过回调接口调用插件启动接口完成浏览器插件的启动。
具体来说,为了启动浏览器插件,在浏览器插件的后台端将浏览器插件的应用脚本模块插入到目标页面中后,目标页面就会运行该应用脚本模块,触发应用脚本模块调用定义接口,这样,浏览器就通过应用脚本模块调用了定义接口,应用脚本模块就可以向定义接口传入浏览器插件的模块方法。接下来,在定义接口接收到所传入的浏览器插件的模块方法时,定义接口就会运行该浏览器插件的模块方法,直至将该浏览器插件的模块方法运行完成得到执行结果后,表明完成了应用脚本模块载入过程,定义接口就会调用浏览器通过控制脚本文件调用依赖接口时所传入的回调接口,并将该执行结果传入回调接口,从而,浏览器插件的后台端就可以通过回调接口来调用浏览器插件的启动接口,由于应用脚本模块已经加载成功,那么,浏览器插件的后台端就可以使用应用脚本模块所提供的模块方法,实现启动浏览器插件。
至此,便完成了启动浏览器插件的过程。
由上述内容可知,本发明实施例提供的启动浏览器插件的方法,当浏览器需要启动浏览器插件时,浏览器就可以调用预先创建的浏览器插件的后台端,然后,浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,应用脚本模块由启动浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;接下来,浏览器插件的后台端就可以基于应用脚本模块的路径信息,加载应用脚本模块;直至应用脚本模块加载完成后,浏览器插件的后台端就可以完成浏览器插件的启动。这样,浏览器能够通过依赖接口传入应用脚本模块的路径信息,来使得浏览器插件的后台端能够载入混淆打包的应用脚本模块实现启动浏览器插件,从而,使得浏览器插件能够支持载入混淆打包的脚本模块。那么,在开发浏览器插件来扩展浏览器的功能的过程中,能够将浏览器插件的功能的源代码进行混淆打包,无需将浏览器插件的功能的代码开源,降低了浏览器插件开发过程中的安全隐患,而且提高了浏览器插件的运行效率,并减少了实现浏览器插件的功能的脚本文件的大小。
下面以浏览器插件由Chrome插件实现、依赖接口由require接口实现、定义接口由define接口实现、应用脚本模块为应用JS模块、以接收到用于打开目标页面的访问请求来触发浏览器调用Chrome插件的后台端为例,对本发明实施例所提供的启动浏览器插件的方法进行详细说明。
基于前述实施例,本发明实施例还提供一种启动浏览器插件的方法,该方法可以包括以下步骤A~L:
步骤A:当浏览器启动时,浏览器通过预设的Chrome插件的配置文件载入混淆打包的后台脚本文件,创建出Chrome插件的后台端;
步骤B:浏览器接收用于请求打开目标页面的访问请求;
步骤C:浏览器响应访问请求,调用Chrome插件的后台端;
在实际应用中,为了在用户需要启动Chrome插件时能够启动该Chrome插件,开发人员可以预先创建出该Chrome插件的配置文件,并且开发人员可以预先通过HTML语言编写出用于实现Chrome插件的后台端的功能的HTML代码,生成原始的后台HTML文件,然后通过Web前端资源混淆打包工具,如webpack,来将原始的后台HTML文件进行混淆打包处理,获得混淆打包的后台脚本文件。这样,在浏览器启动的过程中,浏览器就能够先根据该Chrome插件的配置文件来载入该混淆打包的后台HTML文件,来创建出Chrome插件的后台端,然后,在浏览器接收用于请求打开目标页面的访问请求后,浏览器就可以调用该Chrome插件的后台端,以便通过该Chrome插件的后台端来注册require接口,进而载入Chrome插件的应用JS模块。
在实际应用中,Chrome插件是指除了可以运行在Chrome浏览器的插件之外,还可以运行在所有具有Webkit内核的浏览器的插件,比如运行在Safari浏览器、360安全浏览器、搜狗浏览器、QQ浏览器等的插件。
在具体实施过程中,Chrome插件的配置文件是一个Chrome插件必不可少的文件,用来配置所有与Chrome插件相关的配置,例如,Chrome插件的配置文件可以配置Chrome插件的名称、版本号、后台端、需要直接注入JS文件的目标页面、需要注入到目标页面的控制JS文件(即控制脚本文件)等配置信息。在实际应用中,上述Chrome插件的配置文件可由manifest.json文件来实现。
在实际应用中,Chrome插件的后台端是指Chrome插件的background端,为Chrome插件中的重要组成部分,Chrome插件的后台端的权限非常高,几乎可以调用所有的Chrome插件的应用接口,例如,Chrome插件的单文件插入接口。Chrome插件的后台端随着浏览器调用Chrome插件而被打开,一直运行在浏览器的后台中,直至浏览器关闭才会被关闭。
步骤D:Chrome插件的后台端基于预设的依赖接口的脚本文件,在目标页面中注册require接口;
具体来说,在浏览器调用Chrome插件的后台端后,Chrome插件的后台端就可以通过Chrome插件的单文件插入接口将预设的依赖接口的接口文件插入至目标页面中,以在目标页面中注册require接口,
在实际应用中,上述require接口可以是指符合JS中的模块规范的、用于加载和使用JS模块的接口。举例来说,为了实现在模块内部异步加载模块,上述require接口可以是指符合AMD规范的接口。
步骤E:浏览器通过配置文件将预设的控制脚本文件插入至目标页面中;
其中,控制脚本文件用于调用require接口,能够控制Chrome插件的启动。
具体来说,在Chrome插件的后台端在目标页面中注册require接口后,浏览器就可以自动根据预先设置的Chrome插件的配置文件,将预设的控制脚本文件插入至目标页面中,这样,浏览器就会将已经加载的控制脚本文件在目标页面内部运行。从而,在浏览器运行控制脚本文件的过程中,浏览器就可以一直对用户的浏览行为进行监控,以便确定浏览器是否需要开启Chrome插件。
步骤F:当浏览器需要启动Chrome插件时,浏览器通过控制脚本文件调用require接口传入应用脚本模块的路径信息,并传入回调接口;
其中,回调接口被调用时能够指示已完成应用脚本模块的加载;
步骤G:Chrome插件的后台端基于预设的定义接口的脚本文件,在目标页面中注册define接口;
在具体实施过程中,上述步骤G可以包括:浏览器通过控制脚本文件将载入消息通过Chrome插件的消息接口发送至Chrome插件的后台端;在Chrome插件的后台端接收到载入消息后,Chrome插件的后台端将预设的定义接口的脚本文件,通过Chrome插件的单文件插入接口插入至目标页面中,以在目标页面中注册define接口。
在实际应用中,上述Chrome插件的消息接口是由Chrome插件指定的,用于向Chrome插件内的其它监听者,如Chrome插件的后台端发送一条载入消息,例如,Chrome插件的消息接口可以通过chrome.extension.sendMessage()语句来实现。
步骤H:Chrome插件的后台端根据应用脚本模块的路径信息,获取应用脚本模块;
步骤I:Chrome插件的后台端通过单文件插入接口将应用脚本模块插入至目标页面中;
具体来说,在浏览器运行控制脚本文件的过程中,当浏览器发生了如接收到预设操作或者预设消息等控制脚本文件中预设的触发事件时,浏览器确定需要启动Chrome插件,此时,浏览器就会通过控制脚本文件调用require接口。接下来,require接口就可以传入应用JS模块的路径信息,并传入Chrome插件的回调接口。这样,便于浏览器通过控制脚本文件将载入消息通过Chrome插件的消息接口发送至后台端,来指示Chrome插件的后台端基于预设的define接口的脚本文件,在目标页面中注册define接口,并基于路径信息,通过单文件插入接口将应用JS模块插入至目标页面中。
步骤J:Chrome插件的后台端通过应用脚本模块调用define接口,并向define接口传入应用脚本模块的模块方法;
步骤K:当define接口获得应用脚本模块的模块方法时,Chrome插件的后台端通过define接口运行应用脚本模块的模块方法;
步骤L:在define接口运行完应用脚本模块的模块方法后,Chrome插件的后台端通过define接口调用回调接口,并通过回调接口调用插件启动接口完成Chrome插件的启动。
其中,Chrome插件的插件启动接口被调用时能够实现启动Chrome插件。
具体来说,为了启动Chrome插件,在Chrome插件的后台端将Chrome插件的应用JS模块插入到目标页面中后,目标页面就会运行该应用JS模块,触发应用JS模块调用define接口,这样,浏览器就通过应用JS模块调用了define接口,应用JS模块就可以向define接口传入Chrome插件的模块方法。接下来,在define接口接收到所传入的Chrome插件的模块方法时,define接口就会运行该Chrome插件的模块方法,直至将该Chrome插件的模块方法运行完成得到执行结果后,表明完成了应用JS模块载入过程,define接口就会调用浏览器通过控制脚本文件调用require接口时所传入的回调接口,将该执行结果传入回调接口,从而,该回调接口就会调用Chrome插件的插件启动接口,从而,实现启动Chrome插件。
至此,便完成了启动Chrome插件的过程。
由上述内容可知,本发明实施例所提供的启动浏览器插件的方法,浏览器能够通过调用Chrome插件的后台端所注册require接口来载入混淆打包的应用JS模块实现启动Chrome插件,使得Chrome插件能够支持载入混淆打包的JS模块。从而,在开发Chrome插件来扩展浏览器的功能的过程中,能够将Chrome插件的功能的源代码进行混淆打包,无需将Chrome插件的功能的代码开源,消除了Chrome插件开发过程中的安全隐患,而且提高了Chrome插件的运行效率,并减少了实现Chrome插件的功能的JS文件的大小。
基于同一发明构思,作为对上述方法的实现,本发明实施例提供了一种启动浏览器插件的装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本发明实施例中的装置能够对应实现前述方法实施例中的全部内容。
图2为本发明实施例中的启动浏览器插件的装置的结构示意图,参见图2所示,该装置20可以包括:浏览器201和浏览器插件202,其中,浏览器201,用于当浏览器201需要启动浏览器插件202时,调用预先创建的浏览器插件202的后台端;调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,应用脚本模块至少由启动浏览器插件202所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;浏览器插件202的后台端,用于基于应用脚本模块的路径信息,加载应用脚本模块;在应用脚本模块加载完成后,浏览器插件202的后台端完成浏览器插件202的启动。
在本发明实施例中,浏览器,用于通过配置文件将预设的控制脚本文件插入至目标页面中,其中,控制脚本文件用于调用依赖接口;还用于通过控制脚本文件调用依赖接口传入应用脚本模块的路径信息,并传入回调接口,其中,回调接口被调用时能够指示已完成应用脚本模块的加载。
在本发明实施例中,浏览器插件的后台端,用于基于预设的定义接口的脚本文件,在目标页面中注册定义接口,其中,定义接口的脚本文件包含注册定义接口所需的脚本代码,定义接口用于定义脚本模块。
在本发明实施例中,浏览器插件的后台端,用于通过应用脚本模块调用定义接口,并向定义接口传入应用脚本模块的模块方法;当定义接口获得应用脚本模块的模块方法时,通过定义接口运行应用脚本模块的模块方法;在运行完应用脚本模块的模块方法后,通过定义接口调用回调接口,并通过回调接口调用插件启动接口完成浏览器插件的启动。
在本发明实施例中,浏览器插件的后台端,用于根据应用脚本模块的路径信息,获取应用脚本模块;通过单文件插入接口将应用脚本模块插入至目标页面中。
在本发明实施例中,浏览器,用于当浏览器启动时,通过预设的浏览器插件的配置文件载入混淆打包的后台脚本文件,创建出浏览器插件的后台端;调用浏览器插件的后台端。
在本发明实施例中,浏览器插件的后台端,用于基于预设的依赖接口的脚本文件,在目标页面中注册依赖接口,其中,依赖接口的脚本文件包含注册依赖接口所需的脚本代码,依赖接口用于引入脚本模块。
由于本发明实施例所介绍的启动浏览器插件的装置为可以执行本发明实施例中的启动浏览器插件的方法的装置,故而基于本发明实施例中所介绍的启动浏览器插件的方法,本领域所属技术人员能够了解本发明实施例的启动浏览器插件的装置的具体实施方式以及其各种变化形式,所以在此对于该启动浏览器插件的装置如何实现本发明实施例中的启动浏览器插件的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中启动浏览器插件的方法所采用的装置,都属于本申请所欲保护的范围。
在实际应用中,该启动浏览器插件的装置可应用于电子设备中。在实际应用中,该电子设备可以以各种形式来实施。例如,本发明中描述的电子设备可以包括诸如手机、平板电脑、笔记本电脑、电子书阅读器、掌上电脑、个人数字助理(Personal DigitalAssistant,PDA)、导航装置等移动终端,以及诸如数字TV、台式计算机等固定终端。这里,本发明实施例不做具体限定。
基于同一发明构思,本发明实施例提供一种电子设备。图3为本发明实施例中的电子设备的结构示意图,参见图3所示,该电子设备30包括:至少一个处理器31;以及与处理器31连接的至少一个存储器32、总线33;其中,处理器31、存储器32通过总线33完成相互间的通信;处理器31用于调用存储器32中的程序指令,以执行上述一个或多个实施例中的启动浏览器插件的方法的步骤。
本发明实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述一个或多个实施例中的启动浏览器插件的方法的步骤。
上述处理器可由中央处理器(Central Processing Unit,CPU)、微处理器(MicroProcessor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。存储器可能包括计算机可读介质中的非永久性存储器,随机存储器(Random Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM),存储器包括至少一个存储芯片。
需要说明的是,在本发明实施例中,如果以软件功能模块的形式实现上述一个或多个实施例中的启动浏览器插件的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。
相应地,基于同一发明构思,本发明实施例再提供一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述一个或多个实施例中的启动浏览器插件的方法的步骤。
这里需要指出的是:以上电子设备或计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明电子设备或计算机可读存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,RAM和/或非易失性内存等形式,如ROM或Flash RAM。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质可以是ROM、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,
EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)等存储器;也可以是快闪记忆体或其他内存技术、CD-ROM、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息;还可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种启动浏览器插件的方法,其特征在于,所述方法包括:
当浏览器需要启动浏览器插件时,所述浏览器调用预先创建的浏览器插件的后台端;
所述浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,所述应用脚本模块至少由启动所述浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;
所述浏览器插件的后台端基于所述应用脚本模块的路径信息,加载所述应用脚本模块;
在所述应用脚本模块加载完成后,所述浏览器插件的后台端完成所述浏览器插件的启动。
2.根据权利要求1所述的方法,其特征在于,在所述浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息之前,所述方法还包括:所述浏览器通过所述配置文件将预设的控制脚本文件插入至目标页面中,其中,所述控制脚本文件用于调用所述依赖接口;
所述浏览器调用预先注册的依赖接口传入应用脚本模块的路径信息,包括:所述浏览器通过所述控制脚本文件调用所述依赖接口传入应用脚本模块的路径信息,并传入回调接口,其中,所述回调接口被调用时能够指示已完成所述应用脚本模块的加载。
3.根据权利要求1或2所述的方法,其特征在于,在所述浏览器插件的后台端基于所述应用脚本模块的路径信息,加载所述应用脚本模块之前,所述方法还包括:
所述浏览器插件的后台端基于预设的定义接口的脚本文件,在目标页面中注册定义接口,其中,所述定义接口的脚本文件包含注册所述定义接口所需的脚本代码,所述定义接口用于定义脚本模块。
4.根据权利要求3所述的方法,其特征在于,所述在所述应用脚本模块加载完成后,所述浏览器插件的后台端完成所述浏览器插件的启动,包括:
所述浏览器插件的后台端通过所述应用脚本模块调用所述定义接口,并向所述定义接口传入所述应用脚本模块的模块方法;
当所述定义接口获得所述应用脚本模块的模块方法时,所述浏览器插件的后台端通过所述定义接口运行所述应用脚本模块的模块方法;
在运行完所述应用脚本模块的模块方法后,所述浏览器插件的后台端通过所述定义接口调用所述回调接口,并通过所述回调接口调用插件启动接口完成所述浏览器插件的启动。
5.根据权利要求1所述的方法,其特征在于,所述浏览器插件的后台端基于所述应用脚本模块的路径信息,加载所述应用脚本模块,包括:
所述浏览器插件的后台端根据所述应用脚本模块的路径信息,获取所述应用脚本模块;
所述浏览器插件的后台端通过单文件插入接口将所述应用脚本模块插入至目标页面中。
6.根据权利要求1所述的方法,其特征在于,所述浏览器调用预先创建的浏览器插件的后台端,包括:
当所述浏览器启动时,所述浏览器通过预设的浏览器插件的配置文件载入混淆打包的后台脚本文件,创建出所述浏览器插件的后台端;
所述浏览器调用所述浏览器插件的后台端。
7.根据权利要求1所述的方法,其特征在于,在所述浏览器调用预先创建的浏览器插件的后台端之后,所述方法还包括:
所述浏览器插件的后台端基于预设的依赖接口的脚本文件,在目标页面中注册依赖接口,其中,所述依赖接口的脚本文件包含注册所述依赖接口所需的脚本代码,所述依赖接口用于引入脚本模块。
8.一种启动浏览器插件的装置,其特征在于,所述装置包括:浏览器和浏览器插件,其中,
所述浏览器,用于当所述浏览器需要启动浏览器插件时,调用预先创建的浏览器插件的后台端;调用预先注册的依赖接口传入应用脚本模块的路径信息,其中,所述应用脚本模块至少由启动所述浏览器插件所需的入口脚本模块及其所依赖的依赖脚本模块混淆打包生成;
所述浏览器插件的后台端,用于基于所述应用脚本模块的路径信息,加载所述应用脚本模块;在所述应用脚本模块加载完成后,所述浏览器插件的后台端完成所述浏览器插件的启动。
9.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1至7任一项所述的启动浏览器插件的方法的步骤。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;
以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至7任一项所述的启动浏览器插件的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811159377.6A CN110968359B (zh) | 2018-09-30 | 2018-09-30 | 一种启动浏览器插件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811159377.6A CN110968359B (zh) | 2018-09-30 | 2018-09-30 | 一种启动浏览器插件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968359A true CN110968359A (zh) | 2020-04-07 |
CN110968359B CN110968359B (zh) | 2023-03-31 |
Family
ID=70028947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811159377.6A Active CN110968359B (zh) | 2018-09-30 | 2018-09-30 | 一种启动浏览器插件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968359B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849845A (zh) * | 2021-11-29 | 2021-12-28 | 统信软件技术有限公司 | 对插件文件打包的方法和装置、计算设备和可读存储介质 |
CN114063985A (zh) * | 2020-08-10 | 2022-02-18 | 奇安信科技集团股份有限公司 | Web应用的插件开发方法、装置、电子设备、介质和程序 |
CN114253630A (zh) * | 2021-12-23 | 2022-03-29 | 上海新炬网络信息技术股份有限公司 | 基于Java切面修改Form表单变化信息实现日志保存的方法 |
CN114356433A (zh) * | 2021-11-23 | 2022-04-15 | 珠海紫讯信息科技有限公司 | 一种代码注入式浏览器插件自动运行方法及系统 |
CN114780164A (zh) * | 2022-02-28 | 2022-07-22 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
CN114816558A (zh) * | 2022-03-07 | 2022-07-29 | 深圳开源互联网安全技术有限公司 | 一种脚本注入方法、设备及计算机可读存储介质 |
CN115061741A (zh) * | 2022-05-31 | 2022-09-16 | 北京奇艺世纪科技有限公司 | 一种目标插件运行方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129982A1 (en) * | 2000-01-11 | 2006-06-15 | Eolas Technologies, Inc. | Method and system for hypermedia browser API simulation to enable use of browser plug-ins and applets as embedded widgets in script-language-based interactive programs |
CN101958932A (zh) * | 2010-09-21 | 2011-01-26 | 中兴通讯股份有限公司 | 一种实现电信业务的方法和装置 |
CN103942291A (zh) * | 2014-04-11 | 2014-07-23 | 北京金山网络科技有限公司 | 在浏览器界面显示信息的方法及装置 |
CN108073665A (zh) * | 2016-11-11 | 2018-05-25 | 北京视联动力国际信息技术有限公司 | 一种视联网页面和html页面的切换方法和装置 |
-
2018
- 2018-09-30 CN CN201811159377.6A patent/CN110968359B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129982A1 (en) * | 2000-01-11 | 2006-06-15 | Eolas Technologies, Inc. | Method and system for hypermedia browser API simulation to enable use of browser plug-ins and applets as embedded widgets in script-language-based interactive programs |
CN101958932A (zh) * | 2010-09-21 | 2011-01-26 | 中兴通讯股份有限公司 | 一种实现电信业务的方法和装置 |
CN103942291A (zh) * | 2014-04-11 | 2014-07-23 | 北京金山网络科技有限公司 | 在浏览器界面显示信息的方法及装置 |
CN108073665A (zh) * | 2016-11-11 | 2018-05-25 | 北京视联动力国际信息技术有限公司 | 一种视联网页面和html页面的切换方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063985A (zh) * | 2020-08-10 | 2022-02-18 | 奇安信科技集团股份有限公司 | Web应用的插件开发方法、装置、电子设备、介质和程序 |
CN114356433A (zh) * | 2021-11-23 | 2022-04-15 | 珠海紫讯信息科技有限公司 | 一种代码注入式浏览器插件自动运行方法及系统 |
CN114356433B (zh) * | 2021-11-23 | 2023-12-05 | 珠海紫讯信息科技有限公司 | 一种代码注入式浏览器插件自动运行方法及系统 |
CN113849845A (zh) * | 2021-11-29 | 2021-12-28 | 统信软件技术有限公司 | 对插件文件打包的方法和装置、计算设备和可读存储介质 |
CN114253630A (zh) * | 2021-12-23 | 2022-03-29 | 上海新炬网络信息技术股份有限公司 | 基于Java切面修改Form表单变化信息实现日志保存的方法 |
CN114253630B (zh) * | 2021-12-23 | 2023-07-25 | 上海新炬网络信息技术股份有限公司 | 基于Java切面修改Form表单变化信息实现日志保存的方法 |
CN114780164A (zh) * | 2022-02-28 | 2022-07-22 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
CN114780164B (zh) * | 2022-02-28 | 2023-04-25 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
CN114816558A (zh) * | 2022-03-07 | 2022-07-29 | 深圳开源互联网安全技术有限公司 | 一种脚本注入方法、设备及计算机可读存储介质 |
CN114816558B (zh) * | 2022-03-07 | 2023-06-30 | 深圳市九州安域科技有限公司 | 一种脚本注入方法、设备及计算机可读存储介质 |
CN115061741A (zh) * | 2022-05-31 | 2022-09-16 | 北京奇艺世纪科技有限公司 | 一种目标插件运行方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110968359B (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968359B (zh) | 一种启动浏览器插件的方法及装置 | |
CN109344642B (zh) | 接口规则校验方法、装置、计算机设备及存储介质 | |
JP6898452B2 (ja) | データ取得方法およびデバイス | |
JP5982586B2 (ja) | ハイブリッドアプリケーションのためのリソース呼び出し | |
WO2020151333A1 (zh) | 页面加载方法、装置、计算机设备和存储介质 | |
JP6932142B2 (ja) | アプリケーション起動方法及びシステム | |
CN109214196B (zh) | 一种数据交互方法、装置及设备 | |
WO2016177341A1 (zh) | 接口调用方法、装置及终端 | |
CN111931154B (zh) | 基于数字凭证的业务处理方法、装置及设备 | |
CN106790276B (zh) | 一种基于浏览器协议的跨浏览器数据交互方法和装置 | |
CN108829467B (zh) | 第三方平台对接实现方法、装置、设备及存储介质 | |
US8762876B2 (en) | Secure data entry via a virtual keyboard | |
CN107895120B (zh) | 跨平台应用中数据处理方法、装置、电子设备和存储介质 | |
CN112150136A (zh) | 一种应用中内嵌网页的支付方法、系统及装置 | |
CN107580013A (zh) | 跨域请求数据的方法及装置 | |
CN113536185B (zh) | 应用页面的加载方法、存储介质、及其相关设备 | |
US20170337216A1 (en) | Manipulation of pdf file content through http requests | |
CN110968358A (zh) | 一种基于浏览器插件加载脚本模块的方法及装置 | |
JP6859504B2 (ja) | データを抽出するための方法、デバイス及び端末デバイス | |
CN105786476B (zh) | 移动客户端与服务器之间的数据处理方法及系统 | |
CN108509228B (zh) | 加载页面的方法、终端设备及计算机可读存储介质 | |
CN110647736A (zh) | 插件式坐席系统登录方法、装置、计算机设备及存储介质 | |
WO2017096826A1 (zh) | 移动终端的控制方法及装置 | |
US9507922B1 (en) | System, method, and computer program for conditionally implementing protected content | |
CN114546639A (zh) | 服务调用处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |