CN116578297A - H5页面的运行方法、装置、电子设备及存储介质 - Google Patents
H5页面的运行方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116578297A CN116578297A CN202310565546.0A CN202310565546A CN116578297A CN 116578297 A CN116578297 A CN 116578297A CN 202310565546 A CN202310565546 A CN 202310565546A CN 116578297 A CN116578297 A CN 116578297A
- Authority
- CN
- China
- Prior art keywords
- page
- file
- loading
- host
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000006870 function Effects 0.000 claims description 87
- 230000001360 synchronised effect Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000011017 operating method Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 15
- 238000011161 development Methods 0.000 description 14
- 238000005538 encapsulation Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 101150053844 APP1 gene Proteins 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000414 obstructive effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- 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
-
- 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/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种H5页面的运行方法、装置、电子设备及存储介质,可用于计算机技术领域。该方法包括:获取接入H5页面的多个初始宿主,并确定多个初始宿主中访问H5页面的初始宿主为目标宿主;获取目标宿主对应的驱动文件和驱动文件的文件大小信息;其中,驱动文件包括用于驱动H5页面实现目标宿主对应的系统功能的代码;响应于用户在H5页面中对驱动文件的调用操作,根据驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;基于目标加载方式,在H5页面中对驱动文件进行加载;运行驱动文件,以驱动H5页面实现目标宿主对应的系统功能。本申请的方法能够避免运行的H5页面加载速度慢的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种H5页面的运行方法、装置、电子设备及存储介质。
背景技术
随着全国一体化在线政务服务平台移动端建设的推进,多部门、多层级、多平台的移动端资源接入与共享,成为政务集约化建设、发挥新媒体优势,提升政务服务水平的一大重要举措。
目前,混合开发已成为移动开发的主流方式,H5页面接入原生、小程序成为移动资源接入与共享的主流技术与方案。通过各原生应用程序(Application,APP)、多平台的不同小程序应用直接嵌入H5页面,快速实现了大量资源的接入、整合与共享。
然而,由于H5页面接入到多个原生APP以及多个小程序中,需要适配更多的APP和小程序以实现拍照、定位、等系统功能,加载的JS-SDK文件也不断增多,导致运行的H5页面加载速度慢。
发明内容
本申请提供一种H5页面的运行方法,用以解决目前对H5页面加载速度慢的问题。
第一方面,本申请提供一种H5页面的运行方法,包括:
获取接入所述H5页面的多个初始宿主,并确定所述多个初始宿主中访问所述H5页面的初始宿主为目标宿主;其中,所述初始宿主包括应用程序或小程序;
获取所述目标宿主对应的驱动文件和所述驱动文件的文件大小信息;其中,所述驱动文件包括用于驱动所述H5页面实现所述目标宿主对应的系统功能的代码;
响应于用户在所述H5页面中对所述驱动文件的调用操作,根据所述驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,所述多个预设的加载方式包括同步加载方式和异步加载方式;其中,所述调用操作用于指示所述H5页面实现所述目标宿主对应的系统功能;
基于所述目标加载方式,在所述H5页面中对所述驱动文件进行加载;
运行所述驱动文件,以驱动所述H5页面实现所述目标宿主对应的系统功能。
第二方面,本申请提供一种H5页面的运行装置,包括:
第一确定模块,用于获取接入所述H5页面的多个初始宿主,并确定所述多个初始宿主中访问所述H5页面的初始宿主为目标宿主;其中,所述初始宿主包括应用程序或小程序;
获取模块,用于获取所述目标宿主对应的驱动文件和所述驱动文件的文件大小信息;其中,所述驱动文件包括用于驱动所述H5页面实现所述目标宿主对应的系统功能的代码;
第二确定模块,用于响应于用户在所述H5页面中对所述驱动文件的调用操作,根据所述驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,所述多个预设的加载方式包括同步加载方式和异步加载方式;其中,所述调用操作用于指示所述H5页面实现所述目标宿主对应的系统功能;
加载模块,用于基于所述目标加载方式,在所述H5页面中对所述驱动文件进行加载;
运行模块,用于运行所述驱动文件,以驱动所述H5页面实现所述目标宿主对应的系统功能。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
本申请提供的H5页面的运行方法、装置、电子设备及存储介质,通过获取接入H5页面的多个初始宿主,并确定多个初始宿主中访问H5页面的初始宿主为目标宿主;其中,初始宿主包括应用程序或小程序;获取目标宿主对应的驱动文件和驱动文件的文件大小信息;其中,驱动文件包括用于驱动H5页面实现目标宿主对应的系统功能的代码;响应于用户在H5页面中对驱动文件的调用操作,根据驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,多个预设的加载方式包括同步加载方式和异步加载方式;其中,调用操作用于指示H5页面实现目标宿主对应的系统功能;基于目标加载方式,在H5页面中对驱动文件进行加载;运行驱动文件,以驱动H5页面实现目标宿主对应的系统功能。也就是说,针对接入H5页面的多个初始宿主,可以识别出访问H5页面的初始宿主,并将其确定为目标宿主,此后,在H5页面需要调用宿主的系统功能时,只需加载目标宿主对应的驱动文件即可,避免了对多个宿主对应的驱动文件进行加载,由于目标宿主为当前运行H5页面的宿主,所以只用加载目标宿主对应的驱动文件即可,从而避免了H5页面对多个接入的初始宿主对应的驱动文件进行加载,提升了加载速率。另外,可以根据驱动文件的文件大小信息选择合适的加载方式来对驱动文件进行加载,可以有效提升加载效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的H5页面的运行方法的应用环境示意图;
图2是根据一示例性实施例示出的一种H5页面的运行方法的流程示意图;
图3是根据另一示例性实施例示出的一种H5页面的运行方法的流程示意图;
图4是图3实施例中的H5页面的运行方法在实际应用中的具体实施流程图;
图5是根据一示例性实施例示出的一种H5页面的运行装置的原理框图;
图6是根据一示例性实施例示出的一种电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面对本申请所涉及的专业术语进行说明:
API网关(API Gateway,本发明中简称网关):是一个服务器或者服务器集群,对外的唯一入口。API网关封装了系统内部架构,对外提供REST/HTTP的访问API。同时还具有其它非业务相关的职责,如身份验证、监控、负载均衡、缓存、流量控制等。
混合开发(Hybrid App开发):是指在开发一款App或者小程序的时候,为了提高效率、节省成本而利用原生、小程序与H5的开发技术的混合应用;
混合开发通信:即业务系统使用一个系统功能时,需要H5调用Native(指原生APP)、小程序的功能。Native、小程序完成操作也需要通知到业务系统,即Native、小程序需要调用H5。
目前,混合开发已成为移动开发的主流方式,H5页面接入原生、小程序成为移动资源接入与共享的主流技术与方案,通常利用新一代系统作为基础,前端Android APP、iOSAPP以及小程序采用混合开发技术,通过webview(网页视图)嵌入基于VueJS单页技术开发的H5页面;API网关采用基于Spring Cloud GateWay微服务网关;后端基于Spring Cloud微服务框架,使用MySql传统关系型数据库、Redis非关系型数据库。
作为一种示例,例如,在实现混合开发的H5页面接入多移动应用的过程中,主要包括以下步骤:
首先,一个H5页面新接入一个应用(原生APP或者小程序),需要先在H5页面中引入对应的JS-SDK文件,以实现H5页面在该应用中能调用拍照、定位、关闭等系统方法;
其次,在跨应用的JS-SDK方法封装层中,将各应用的JS-SDK方法封装到统一的调用方法中,以实现H5页面可以在不同的原生APP或者小程序中通过统一的方法调用拍照、定位、关闭等系统方法。
接着,各原生APP、小程序重新拼接H5页面的URL,在URL添加渠道标识参数,形成新的URL,通过webview加载新的URL。
然后,H5页面的新URL请求通过网关,并通过宿主的webview加载H5页面。
此后,执行H5页面的JS代码,遇到封装的JS-SDK方法时,根据渠道标识,调用对应渠道的JS-SDK方法。
最后,执行对应的原生APP、小程序JS-SDK文件的功能方法,实现H5页面与原生APP或者小程序通信,唤起系统功能完成调用。
然而,在相关技术中,在实现移动端H5页面多渠道接入原生APP、小程序的过程中,未能充分考虑到接入渠道的有效管理和H5页面的性能、安全问题,主要表现在以下几个方面:
一方面,H5页面接入的渠道多,导致渠道管理混乱。当H5页面接入的渠道比较多,比如:H5页面同时接入了原生APP1、原生APP2、小程序Min-APP1、小程序Min-APP2时。如果H5页面不严格区分各应用,会导致H5页面无法准确统计H5页面在某应用的访问量、点击量等信息;也无法在某个渠道的H5页面与原生APP或者小程序异常时,对该渠道进行降级等限制访问措施;
另一方面,H5页面接入的渠道多,易导致安全问题。某接入渠道未实现渠道接入的权限控制,在受到攻击后,H5页面的访问量忽然大增或者存在大量越权访问H5页面的相关接口,此时也难以实现对受到影响的渠道进行严格的限制访问;导致H5页面接入的渠道管控难度加大,难以实现精细化渠道管控,也存在着H5页面被盗用、被攻击,安全风险大幅度提升。
又一方面,H5页面接入的渠道多,易导致页面加载速度缓慢。当H5页面接入的渠道比较多,比如:H5页面同时接入了原生APP1、原生APP2、小程序Min-APP1、小程序Min-APP2时,需要加载四个JS-SDK文件,以实现H5页面在四个渠道中能调用系统的拍照、定位、关闭H5页面等功能。而JS-SDK文件是实现与某个原生APP或者小程序通信的JAVASCRIPT文件,在H5页面加载过程中是阻塞性的,即JAVASCRIPT文件下载和执行的过程都是阻塞性的,在此期间,其他资源无法下载与执行。这种阻塞会导致H5页面打开时间增加,即页面加载等待时间增加,严重影响用户体验。
本申请提供的H5页面的运行方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本实施例的H5页面的运行方法的应用场景可以为如图1所示的H5页面运行系统,该H5页面运行系统可以包括:宿主、JS-SDK文件、跨应用JS-SDK封装层、H5页面、以及API网关这五个部分。
其中,宿主(指原生APP、小程序),是指H5页面嵌入的主体。原生APP、小程序通过JS-SDK为H5页面提供拍照、定位、打开webview(启动webview必须载入一个URL)等系统功能;宿主收到H5页面的URL,并对URL进行参数拼接,添加用户登录信息、宿主名称等参数,生成新的URL。
其中,JS-SDK文件,指实现宿主与H5页面通信的JAVASCRIPT代码文件。H5页面在定位、拍照、以及打开关闭webview等系统功能上存在着兼容问题或者无法实现,需要通过宿主的能力实现。通常情况下,一个原生APP提供一个JS-SDK文件,同一类型的小程序(例如:微信小程序、支付宝小程序属于2个不同类型的小程序)提供一个JS-SDK。如果H5页面接入3个APP以及2个类型的小程序,则需要在H5页面加载5个JS-SDK文件。
其中,跨应用JS-SDK封装层,为不同渠道的JS-SDK提供统一的封装,屏蔽调用方法的不一致。
其中,H5页面,实现了某个功能模块的HTML页面集合。H5页面具有开发灵活、上线简单、跨平台的特性,但嵌入APP、小程序的H5页面无法稳定、准确地实现一些系统功能,如定位、拍照;以及无法实现一些容器功能,比如:打开或者关闭webview。H5页面需借助宿主的能力,才能实现这些系统功能。
其中,API网关,是一个服务器或者服务器集群,系统的唯一入口。本实施例的技术方案除了使用路由等基础功能,还使用了身份验证的功能。H5页面接入某个宿主,就会形成了一个新的渠道。在接入前,H5页面需要做准入申请,申请该宿主访问的AppKey和AppSecret,确定该渠道的访问权限,以防止未授权的第三方宿主访问H5页面。
图2是根据一示例性实施例示出的一种H5页面的运行方法,如图2所示,该方法可以包括:
110、获取接入H5页面的多个初始宿主,并确定多个初始宿主中访问H5页面的初始宿主为目标宿主;其中,初始宿主包括应用程序或小程序。
示例性地,该H5页面的运行方法具体可以应用于终端设备,该终端设备可以显示上述H5页面;该终端设备可以具有上述跨应用JS-SDK封装层;该终端设备可以存储有上述JS-SDK文件;该终端设备还可以与上述API网关(以下可以简称网关)通信连接。可选地,该终端设备可以包括但不限于:智能手机、计算机、平板电脑,智能可穿戴设备等。
在一些实施方式中,每个申请接入H5页面的宿主,都会被网关进行备案,从而得到备案信息。因此,终端设备可以通过向网关调取备案信息获得已经接入H5页面的多个初始宿主。
此外,终端设备可以实时检测当前是否有已经接入的初始宿主访问H5页面,若是,则可以将当前访问H5页面的初始宿主,确定为目标宿主。
作为一种示例,例如H5页面为国家电网开发的电费缴费页面,其中,该电费缴费页面已经接入了初始宿主(如支付宝APP),此时,该电费缴费页面与支付宝APP之间形成一个渠道,若终端设备检测到其安装的支付宝APP正在访问该电费缴费页面,则可以将支付宝APP确定为目标宿主。此后,终端设备可以在支付宝APP中运行该H5页面,即显示该H5页面。
120、获取目标宿主对应的驱动文件和驱动文件的文件大小信息;其中,驱动文件包括用于驱动H5页面实现目标宿主对应的系统功能的代码。
示例性地,该终端设备的本地可以预先存储有多个初始宿主对应的驱动文件,可以理解的是,在本实施例中驱动文件即为上述JS-SDK文件。
当终端设备确定目标宿主以后,则可以从其本地中调取与目标宿主对应的驱动文件,并且识别该驱动文件的文件大小信息,其中,该文件大小信息可以是字节数量。
沿用上述示例,在确定目标宿主为支付宝APP后,终端设备可以从本地调取支付宝APP对应的JS-SDK文件,并识别其文件大小信息。可选地,多个宿主对应的驱动文件除了可以存储在终端设备本地以外,还可以存储在与终端设备通信连接的云端服务器中,以便终端设备在需要时,从云端服务器调取。
130、响应于用户在H5页面中对驱动文件的调用操作,根据驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,多个预设的加载方式包括同步加载方式和异步加载方式;其中,调用操作用于指示H5页面实现目标宿主对应的系统功能。
沿用上述示例,例如,电费缴费页面包括用于对用户进行身份验证的控件,调用操作可以是用户在电费缴费页面对该控件做出的点击操作,当终端设备接收到该点击操作时,可以响应于该点击操作,以调用支付宝APP相应的系统功能(如人脸识别功能),其中,用户在H5页面使用支付宝APP相应的系统功能时,需要加载支付宝APP对应的驱动文件,并在加载完成后通过运行该驱动文件来实现。具体地,在终端设备对目标宿主对应的驱动文件件加载之前,终端设备可以根据驱动文件的文件大小信息,从多个预设的加载方式中确定目标加载方式,例如,对于文件较大的驱动文件采用异步加载方式。对于文件较小的驱动文件采用同步加载方式。
可以理解的还是,同步加载方式,又称阻塞模式,就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;例如,同步加载会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。
异步加载方式,又称非阻塞模式,是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
140、基于目标加载方式,在H5页面中对驱动文件进行加载。
示例性地,例如,目标加载方式为同步加载方式,那么终端设备可以在H5页面中通过同步加载方式对驱动文件进行加载。
150、运行驱动文件,以驱动H5页面实现目标宿主对应的系统功能。
沿用上述示例,终端设备可以通过运行该驱动文件,从而使H5页面调用支付宝APP的人脸识别功能。
可选地,该系统功能可以包括定位功能、拍照功能、人脸识别功能、以及关闭H5页面功能中的至少一种。
可以理解的是,除了人脸识别功能以外,目标宿主的其它系统功能也可以通过上述方法在H5页面中实现,以此类推,可以实现H5页面运行多个初始宿主的系统功能,即一套H5代码可以运行多个宿主(平台),实现了一次开发,多处运行,提升了开发效率。
可见,在本实施例中,通过获取接入H5页面的多个初始宿主,并确定多个初始宿主中访问H5页面的初始宿主为目标宿主;其中,初始宿主包括应用程序或小程序;获取目标宿主对应的驱动文件和驱动文件的文件大小信息;其中,驱动文件包括用于驱动H5页面实现目标宿主对应的系统功能的代码;响应于用户在H5页面中对驱动文件的调用操作,根据驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,多个预设的加载方式包括同步加载方式和异步加载方式;其中,调用操作用于指示H5页面实现目标宿主对应的系统功能;基于目标加载方式,在H5页面中对驱动文件进行加载;运行驱动文件,以驱动H5页面实现目标宿主对应的系统功能。也就是说,针对接入H5页面的多个初始宿主,可以识别出访问H5页面的初始宿主,并将其确定为目标宿主,此后,在H5页面需要调用宿主的系统功能时,只需加载目标宿主对应的驱动文件即可,避免了对多个宿主对应的驱动文件进行加载,由于目标宿主为当前运行H5页面的宿主,所以只用加载目标宿主对应的驱动文件即可,从而避免了H5页面对多个接入的初始宿主对应的驱动文件进行加载,提升了加载速率。另外,可以根据驱动文件的文件大小信息选择合适的加载方式来对驱动文件进行加载,可以有效提升加载效率。
图3是根据另一示例性实施例示出的一种H5页面的运行方法,如图3所示,该方法可以包括:
210、获取多个初始宿主中访问H5页面的初始宿主所发出的访问请求信息;其中,初始宿主包括应用程序或小程序。
在一些实施方式中,初始宿主在访问H5页面时可以向H5页面发出访问请求信息,网关则可以对该访问请求信息进行验证,确定访问请求信息是否满足预设条件,从而校验该初始宿主与H5页面形成的渠道是否合法。
在一些实施方式中,在步骤210之前,该方法还可以包括:
通过预设的封装方法,对多个初始宿主中每一初始宿主对应的驱动文件进行统一封装处理。
示例性地,终端设备可以通过上述跨应用JS-SDK封装层,以预设的封装方法,对多个初始宿主中每一初始宿主对应的驱动文件进行统一封装处理。
例如,对于三个接入H5页面的宿主:宿主A、宿主B、宿主C,其各自JS-SDK文件实现webview关闭的方法分别是:A.close()、B.closeWindow()、C.closeView()。这样,统一封装各宿主的相同功能成为了必要。上述情况,统一封装方法为X.close(),在H5页面中,只需调用X.close()就能实现在各宿主中关闭webview的功能。
考虑到接入H5页面的每个宿主提供了各自的JS-SDK文件,以实现H5页面调用系统功能。如果接入宿主数量增加,调用将变得更加复杂,在本实施方式中,通过预设的封装方法,对多个初始宿主中每一初始宿主对应的驱动文件进行统一封装处理,从而可以方便H5页面调用各宿主的系统功能。
220、若确定访问请求信息满足预设条件,则确定访问H5页面的初始宿主为目标宿主。
在一些实施方式中,访问请求信息包括公钥和私钥;步骤220的具体实施方式可以包括:
221、基于公钥和预设唯一标识参数,进行组合运算,得到第一运算结果。
222、基于SHA2算法对第一运算结果,进行签名运算,得到第二运算结果。
223、若确定第二运算结果与私钥匹配,则确定访问请求信息满足预设条件。
示例性地,例如,网关可以对访问请求信息进行解析处理,即解析H5页面链接的渠道参数,得到公钥(AppKey)和私钥(AppSecret)等接入信息。然后,再校验(AppKey)和私钥(AppSecret)等接入信息是否合法。具体地,校验的逻辑可以包括:根据AppKey、预设唯一标识参数做组合运算,得到第一运算结果,再对第一运算结果进行SHA2签名运算,得到的签名串(即上述第二运算结果)和H5链接的AppSecret匹配,如果匹配一致,确定访问请求信息满足预设条件,表明目标宿主对H5页面的访问请求合法。
在本实施方式中,通过基于公钥和预设唯一标识参数,进行组合运算,得到第一运算结果。基于SHA2算法对第一运算结果,进行签名运算,得到第二运算结果。若确定第二运算结果与私钥匹配,则确定访问请求信息满足预设条件,从而能够保证H5页面多渠道接入时的安全性。
在一些实施方式中,当检测到H5页面非法接入某个渠道,将限制该渠道的H5页面访问。当检测到某个渠道的H5页面受到攻击或者访问流量异常时,对该渠道进行采取限流、降级、熔断等措施,以保障其他渠道能正常访问H5页面。
230、获取目标宿主对应的驱动文件和驱动文件的文件大小信息;其中,驱动文件包括用于驱动H5页面实现目标宿主对应的系统功能的代码。
其中,步骤230的具体实施方式可以参考步骤120,故不在此赘述。
240、响应于用户在H5页面中对驱动文件的调用操作,根据驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,多个预设的加载方式包括同步加载方式和异步加载方式;其中,调用操作用于指示H5页面实现目标宿主对应的系统功能。
在一些实施方式中,文件大小信息包括字节数量;步骤240的具体实施方式可以包括:
若确定驱动文件的字节数量大于或等于第一数量阈值,则确定多个预设的加载方式中的异步加载方式,为目标加载方式。
示例性地,例如字节数量为N,第一数量阈值为N1,如果终端设备检测N>N1,表明驱动文件的文件较大,则可以确定多个预设的加载方式中的异步加载方式,为目标加载方式。
在一些实施方式中,该方法还可以包括:
若确定驱动文件的字节数量小于或等于第二数量阈值,则确定多个预设的加载方式中的同步加载方式,为目标加载方式;其中,第一数量阈值大于或等于第二数量阈值。
沿用上述示例,例如第二数量阈值为N2,如果终端设备检测N<N2,表明驱动文件的文件较小,则可以确定多个预设的加载方式中的同步加载方式,为目标加载方式。
在另一些实施方式中,该方法还可以包括:当目标宿主访问并运行H5页面后,终端设备可以检测指定时间内是否有用户在H5页面中对目标宿主的驱动文件做出调用操作,即用户在H5页面中选择使用了目标宿主的某些系统功能。若是,则可以将同步加载方式确定为目标加载方式。若否,则可以将异步加载方式确定为目标加载方式。
250、基于目标加载方式,在H5页面中对驱动文件进行加载。
260、运行驱动文件,以驱动H5页面实现目标宿主对应的系统功能。
在一些实施方式中,在步骤260之前,该方法还可以包括:
通过预设的钩子函数,对驱动文件的加载过程进行时序同步处理,以确定驱动文件是否加载完成;若确定驱动文件加载完成,则执行运行驱动文件的步骤。
具体地,终端设备的监测器可以监测js-jdk-flag是否为变为true。监测器可以通过proxy代理实现动态监测功能,当发现全局变量js-jdk-flag值由默认值false变成true时,表明时序同步完成。
考虑到异步加载时,其状态是不可控的,即驱动文件的加载开始时间和加载结束时间是不清楚的,在本实施方式中,通过预设的钩子函数,对驱动文件的加载过程进行时序同步处理,以确定驱动文件是否加载完成;从而可以在通过异步加载方式对驱动文件加载完成后,方便及时运行驱动文件。
作为一种更为具体的示例,如图4所示,在实际应用中,本实施例的H5页面的运行方法的具体实施流程可以如下:
步骤1、网关对渠道接入进行管控:实行H5页面接入申请备案制度。需要接入宿主的H5页面,需提出渠道接入申请。网关在收到申请后,会为该渠道生成一些基本信息,包含AppKey、AppSecret、AppName等信息,其中:AppKey表示宿主的唯一标识,也相当于公钥;AppSecret是通过将AppKey和一些其他参数进行SHA2算法生成的私钥;其中,AppName表示宿主的渠道名称或者渠道简称。
步骤2、统一封装各宿主JS-SDK:接入的每个宿主提供了各自的JS-SDK文件,以实现H5调用系统功能。如果接入宿主数量增加,调用将变得更加复杂。对于三个接入的宿主:宿主A、宿主B、宿主C,各自JS-SDK文件实现webview关闭的方法分别是:A.close()、B.closeWindow()、C.closeView()。这样,统一封装各宿主的相同功能成为了必要。上述情况,统一封装方法为X.close(),在H5页面中,只需调用X.close()就能实现在各宿主中关闭webview的功能。
步骤3、宿主对H5页面链接进行管理,并拼接H5页面链接:宿主在通过webview打开H5页面之前,需要对H5页面的URL进行处理,在URL中添加接入的渠道信息等参数,如:AppKey、AppSecret、AppName、matterId(事项Id)、tabId(展开的tab页签)等,以实现H5页面身份验证、获取打开的事项Id、打开展示的tab页签等功能。
步骤4、宿主调起webview,加载H5页面链接。宿主调起webview,载入拼接完成的H5页面URL,开始加载H5页面。
步骤5、网关解析H5链接的渠道参数,校验是否合法。网关收到H5链接,校验AppKey、AppSecret等接入信息是否合法。身份验证的逻辑:根据AppKey、其他唯一标识参数做组合运算,再进行SHA2签名运算,得到的签名串和H5链接的AppSecret匹配,如果匹配一致,H5页面请求合法。
步骤6、按序加载、执行HTML、CSS、JS文件或者片段。其中,HTML、CSS、JS文件或者片段与H5页面对应。其中JS文件通常是同步加载,其加载和执行具有阻塞性,导致其他JS文件无法加载与执行。
步骤7、JS脚本根据渠道标识,动态判断需加载的JS-SDK文件。执行已加载的JS文件,根据H5链接的AppName渠道标识参数,如果和当前宿主的渠道标识一致,则通过JS脚本动态生成需加载的JS文件script标签,并且插入到HTML页面得到执行。这个步骤避免了H5接入多渠道时加载多个JS-SDK文件。其中,步骤7相当于上述实施例中获取目标宿主对应的驱动文件的步骤。
步骤8、是否异步加载。JS-SDK文件的异步加载,能使页面主体更快加载完成,带来更好的用户体验。如果H5页面在加载完成后的不确定时间需要调用宿主的系统功能,比如点击“拍照”按钮,调用宿主的人脸识别功能,这对JS-SDK文件的加载、执行完毕时间没有严格要求,用户点击按钮前,JS-SDK文件的加载、执行有充分的时间完成;如果H5页面在加载完成前需要调用宿主的系统功能,比如H5页面在加载之前,需要调用宿主的定位功能获取定位信息。此时,对JS-SDK的加载和执行时间有严格的要求,需要确保JS-SDK文件的加载和执行先于方法的调用。确保JS-SDK方法在JS-SDK文件加载执行完毕后调用有两种方案:
第一种方案:JS-SDK文件同步加载,并在HTML文件中先于JS-SDK方法执行。
第二种方案:JS-SDK文件异步加载,需要对异步加载的文件做时序同步,当异步JS-SDK文件加载执行完毕,发出信号,通知JS-SDK方法执行,此方法可能存在延迟调用。
可以理解的是,JS-SDK方法的调用相当于上述运行JS-SDK文件。
步骤9、同步加载、执行JS-SDK文件,执行onload钩子函数,设置js-jdk-flag=true。在H5页面中,JS-SDK文件同步加载、执行完毕时调用onload钩子函数,将全局变量js-jdk-flag置为true。
步骤10、监测器监测js-jdk-flag是否为变为true。监测器通过proxy代理实现动态监测功能,当发现全局变量js-jdk-flag值由默认值false变成true时,监测器将执行回调方法。如果同步加载、执行JS-SDK文件,JS-SDK方法在调用执行前,已经完成了JS-SDK文件的加载、执行,js-jdk-flag已经设置为true;在异步加载JS-SDK文件时,需要同步JS-SDK文件加载、执行的状态。如果监测器未发现js-jdk-flag值的变化,将继续进行监测。监测器在此处实现了一个轮询监测的功能。
步骤11、调用JS-SDK方法。监测器在js-jdk-flag变成true时,执行回调方法,触发回调方法里的JS-SDK方法。
步骤12、提示链接不合法。当步骤5中,网关校验H5链接渠道参数不合法,将拒绝对H5页面的访问。重定向到拒绝访问的H5提示页面。
步骤13、异步加载JS-SDK文件。当步骤8中确定JS-SDK文件异步加载时,脚本生成script标签并添加属性defer,实现JS-SDK的异步加载。
步骤14、JS-SDK文件加载执行完毕,执行onload钩子函数,设置js-jdk-flag=true。当JS-SDK文件异步加载、执行完毕时,调用onload钩子函数,设置js-jdk-flag=true。此时,步骤10的监测器将监测到变化。
综上所述,本申请的H5页面运行方法,实现了H5页面多渠道接入的有效管理和控制。在特定场景下,根据接入渠道的信息对某个接入渠道的H5页面进行精准管理。
另外,保障了H5页面多渠道接入的安全性。当H5页面非法接入某个渠道,将限制该渠道的H5页面访问;当某个渠道的H5页面受到攻击或者访问流量异常时,对该渠道进行采取限流、降级、熔断等措施,以保障其他渠道能正常访问H5页面。
另外,本实施例的方法还实现了混合开发的H5页面高性能加载。实现了H5页面接入多个宿主,在指定宿主中实现动态、异步加载指定JS-SDK文件,避免了加载多个JS-SDK文件带来的加载速度慢、用户体验差的问题。
图5是根据一示例性实施例示出的一种H5页面的运行装置,如图5所示,该装置300可以包括:
第一确定模块310,用于获取接入上述H5页面的多个初始宿主,并确定上述多个初始宿主中访问上述H5页面的初始宿主为目标宿主;其中,上述初始宿主包括应用程序或小程序。
获取模块320,用于获取上述目标宿主对应的驱动文件和上述驱动文件的文件大小信息。其中,上述驱动文件包括用于驱动上述H5页面实现上述目标宿主对应的系统功能的代码。
第二确定模块330,用于响应于用户在上述H5页面中对上述驱动文件的调用操作,根据上述驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,上述多个预设的加载方式包括同步加载方式和异步加载方式;其中,上述调用操作用于指示上述H5页面实现上述目标宿主对应的系统功能。
加载模块340,用于基于上述目标加载方式,在上述H5页面中对上述驱动文件进行加载。
运行模块350,用于运行上述驱动文件,以驱动上述H5页面实现上述目标宿主对应的系统功能。
在一些实施方式中,上述文件大小信息包括字节数量;第二确定模块330,具体用于若确定上述驱动文件的字节数量大于或等于第一数量阈值,则确定多个预设的加载方式中的异步加载方式,为上述目标加载方式。
在一些实施方式中,第二确定模块330,具体还用于若确定上述驱动文件的字节数量小于或等于第二数量阈值,则确定多个预设的加载方式中的同步加载方式,为上述目标加载方式;其中,上述第一数量阈值大于或等于上述第二数量阈值。
在一些实施方式中,该装置300还包括:
同步模块,用于通过预设的钩子函数,对上述驱动文件的加载过程进行时序同步处理,以确定上述驱动文件是否加载完成;若确定驱动文件加载完成,则执行运行上述驱动文件的步骤。
在一些实施方式中,第一确定模块310,具体用于获取上述多个初始宿主中访问上述H5页面的初始宿主所发出的访问请求信息;若确定上述访问请求信息满足预设条件,则确定上述访问上述H5页面的初始宿主为上述目标宿主。
在一些实施方式中,上述访问请求信息包括公钥和私钥;第一确定模块310,具体还用于基于上述公钥和预设唯一标识参数,进行组合运算,得到第一运算结果;基于SHA2算法对上述第一运算结果,进行签名运算,得到第二运算结果;若确定上述第二运算结果与上述私钥匹配,则确定上述访问请求信息满足预设条件。
在一些实施方式中,该装置300还包括封装模块,用于通过预设的封装方法,对上述多个初始宿主中每一初始宿主对应的驱动文件进行统一封装处理。
在一些实施方式中,上述系统功能包括定位功能、拍照功能、人脸识别功能、以及关闭H5页面功能中的至少一种。
图6是根据一示例性实施例示出的一种电子设备的框图,该电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,个人数字助理等。其中,该电子设备可以相当于上述实施例中的终端设备。
电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述实施例的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述实施例中的H5页面的运行方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种H5页面的运行方法,其特征在于,所述方法包括:
获取接入所述H5页面的多个初始宿主,并确定所述多个初始宿主中访问所述H5页面的初始宿主为目标宿主;其中,所述初始宿主包括应用程序或小程序;
获取所述目标宿主对应的驱动文件和所述驱动文件的文件大小信息;其中,所述驱动文件包括用于驱动所述H5页面实现所述目标宿主对应的系统功能的代码;
响应于用户在所述H5页面中对所述驱动文件的调用操作,根据所述驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,所述多个预设的加载方式包括同步加载方式和异步加载方式;其中,所述调用操作用于指示所述H5页面实现所述目标宿主对应的系统功能;
基于所述目标加载方式,在所述H5页面中对所述驱动文件进行加载;
运行所述驱动文件,以驱动所述H5页面实现所述目标宿主对应的系统功能。
2.根据权利要求1所述的方法,其特征在于,所述文件大小信息包括字节数量;所述根据所述驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式,包括:
若确定所述驱动文件的字节数量大于或等于第一数量阈值,则确定多个预设的加载方式中的异步加载方式,为所述目标加载方式。
3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
若确定所述驱动文件的字节数量小于或等于第二数量阈值,则确定多个预设的加载方式中的同步加载方式,为所述目标加载方式;其中,所述第一数量阈值大于或等于所述第二数量阈值。
4.根据权利要求2所述的方法,其特征在于,在运行所述驱动文件,以驱动所述H5页面实现所述目标宿主对应的系统功能之前,还包括:
通过预设的钩子函数,对所述驱动文件的加载过程进行时序同步处理,以确定所述驱动文件是否加载完成;
若确定驱动文件加载完成,则执行运行所述驱动文件的步骤。
5.根据权利要求1所述的方法,其特征在于,确定所述多个初始宿主中访问所述H5页面的初始宿主为目标宿主,包括:
获取所述多个初始宿主中访问所述H5页面的初始宿主所发出的访问请求信息;
若确定所述访问请求信息满足预设条件,则确定所述访问所述H5页面的初始宿主为所述目标宿主。
6.根据权利要求5所述的方法,其特征在于,所述访问请求信息包括公钥和私钥;所述方法还包括:
基于所述公钥和预设唯一标识参数,进行组合运算,得到第一运算结果;
基于SHA2算法对所述第一运算结果,进行签名运算,得到第二运算结果;
若确定所述第二运算结果与所述私钥匹配,则确定所述访问请求信息满足预设条件。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在确定所述多个初始宿主中访问所述H5页面的初始宿主为目标宿主之前,还包括:
通过预设的封装方法,对所述多个初始宿主中每一初始宿主对应的驱动文件进行统一封装处理。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述系统功能包括定位功能、拍照功能、人脸识别功能、以及关闭H5页面功能中的至少一种。
9.一种H5页面的运行装置,所述H5页面的运行包括:
第一确定模块,用于获取接入所述H5页面的多个初始宿主,并确定所述多个初始宿主中访问所述H5页面的初始宿主为目标宿主;其中,所述初始宿主包括应用程序或小程序;
获取模块,用于获取所述目标宿主对应的驱动文件和所述驱动文件的文件大小信息;其中,所述驱动文件包括用于驱动所述H5页面实现所述目标宿主对应的系统功能的代码;
第二确定模块,用于响应于用户在所述H5页面中对所述驱动文件的调用操作,根据所述驱动文件的大小信息,从多个预设的加载方式中确定目标加载方式;其中,所述多个预设的加载方式包括同步加载方式和异步加载方式;其中,所述调用操作用于指示所述H5页面实现所述目标宿主对应的系统功能;
加载模块,用于基于所述目标加载方式,在所述H5页面中对所述驱动文件进行加载;
运行模块,用于运行所述驱动文件,以驱动所述H5页面实现所述目标宿主对应的系统功能。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310565546.0A CN116578297A (zh) | 2023-05-18 | 2023-05-18 | H5页面的运行方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310565546.0A CN116578297A (zh) | 2023-05-18 | 2023-05-18 | H5页面的运行方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116578297A true CN116578297A (zh) | 2023-08-11 |
Family
ID=87542834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310565546.0A Pending CN116578297A (zh) | 2023-05-18 | 2023-05-18 | H5页面的运行方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578297A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149469A (zh) * | 2023-10-30 | 2023-12-01 | 中信建投证券股份有限公司 | H5页面调用宿主端功能的方法、装置、设备及存储介质 |
-
2023
- 2023-05-18 CN CN202310565546.0A patent/CN116578297A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149469A (zh) * | 2023-10-30 | 2023-12-01 | 中信建投证券股份有限公司 | H5页面调用宿主端功能的方法、装置、设备及存储介质 |
CN117149469B (zh) * | 2023-10-30 | 2024-01-19 | 中信建投证券股份有限公司 | H5页面调用宿主端功能的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2562673B1 (en) | Apparatus and method for securing mobile terminal | |
CN105446713B (zh) | 安全存储方法及设备 | |
CN110869907B (zh) | 一种浏览应用页面的方法及终端 | |
CN110049062B (zh) | 验证码校验方法、装置、系统、服务器、电子设备及存储介质 | |
WO2015109668A1 (zh) | 应用程序管理方法、装置、终端及计算机存储介质 | |
CN106454392A (zh) | 直播处理方法、装置及终端 | |
CN111427622B (zh) | 应用程序中脚本代码的执行方法及装置 | |
CN107924449A (zh) | 一种通知消息处理方法、装置及终端 | |
CN116578297A (zh) | H5页面的运行方法、装置、电子设备及存储介质 | |
CN107423146B (zh) | 控制应用程序相互调用的方法、装置及系统 | |
CN111078325B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN107368736B (zh) | 信息访问方法、装置及计算机可读存储介质 | |
EP3145152B1 (en) | Short message service reading method and device | |
CN110674481A (zh) | 一种应用程序的账号注册方法、装置、设备和存储介质 | |
CN110008668B (zh) | 一种数据处理方法、装置及存储介质 | |
CN113329045A (zh) | 文件下载方法、装置、计算机可读存储介质和计算机设备 | |
US10091236B2 (en) | Methods apparatuses, and storage mediums for acquiring legitimate installation packages | |
CN112351131B (zh) | 电子设备的控制方法、装置、电子设备及存储介质 | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN113901496A (zh) | 基于多业务系统的业务处理方法、装置和设备 | |
CN109885360B (zh) | 一种数据处理方法、装置及存储介质 | |
CN115510419A (zh) | 一种电子设备控制方法、装置、电子设备和存储介质 | |
CN108021808B (zh) | 账本安全加固方法、装置及电子设备 | |
CN110580179A (zh) | 信息处理方法及装置、电子设备及存储介质 | |
CN112804399B (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 |