CN115756462A - 网页生成方法、装置、电子设备及存储介质 - Google Patents

网页生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115756462A
CN115756462A CN202211482972.XA CN202211482972A CN115756462A CN 115756462 A CN115756462 A CN 115756462A CN 202211482972 A CN202211482972 A CN 202211482972A CN 115756462 A CN115756462 A CN 115756462A
Authority
CN
China
Prior art keywords
network data
webpage
request
data
time
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
Application number
CN202211482972.XA
Other languages
English (en)
Inventor
刘燕
汪子越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Futu Network Technology Co Ltd
Original Assignee
Shenzhen Futu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Futu Network Technology Co Ltd filed Critical Shenzhen Futu Network Technology Co Ltd
Priority to CN202211482972.XA priority Critical patent/CN115756462A/zh
Publication of CN115756462A publication Critical patent/CN115756462A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本申请的实施例可应用于互联网技术领域,具体提供了一种网页生成方法、装置、电子设备及存储介质。该网页生成方法包括:响应于展示网页的指令,加载离线包;请求网页端进行初始化,并向服务器请求网络数据;将所述网络数据以及所述离线包传递至所述网页端;所述网络数据以及所述离线包用于供所述网页端初始化完成后进行数据渲染得到页面数据;根据所述页面数据生成待展示的网页。本申请实施例的技术方案可以提高生成网页的速度。

Description

网页生成方法、装置、电子设备及存储介质
技术领域
本申请涉及互联网技术领域,具体涉及一种网页生成方法、装置、电子设备及存储介质。
背景技术
第五代超文本标记语言(Hyper Text Markup Language 5,HTML 5),也可以称作H5,具有离线包这一组件,通过离线包可以加载静态资源。目前,为了生成H5的网页,离线包和网页数据的加载速度较慢,导致生成网页的速度慢。
发明内容
本申请的一个目的在于提出一种网页生成方法、装置、电子设备及存储介质,旨在提高生成网页的速度。
根据本申请实施例的一方面,提供了一种网页生成方法,所述方法包括:
响应于展示网页的指令,加载离线包;
请求网页端进行初始化,并向服务器请求网络数据;
将所述网络数据以及所述离线包传递至所述网页端;所述网络数据以及所述离线包用于供所述网页端初始化完成后进行数据渲染得到页面数据;
根据所述页面数据生成待展示的网页。
根据本申请实施例的一方面,提供了一种网页生成装置,所述装置包括加载模块、请求模块、传递模块以及生成模块,其中:
所述加载模块,用于响应于展示网页的指令,加载离线包;
所述请求模块,用于请求网页端进行初始化,并向服务器请求网络数据;
所述传递模块,用于将所述网络数据以及所述离线包传递至所述网页端;所述网络数据以及所述离线包用于供所述网页端初始化完成后进行数据渲染得到页面数据;
所述生成模块,用于根据所述页面数据生成待展示的网页。
在本申请的一些实施例中,基于前述技术方案,所述装置被配置为:
获取预请求信息,并记录基于所述预请求信息开始请求网络数据的时间;
将所述时间传递至所述网页端;所述时间用于供所述网页端检测到超时的情况下向所述服务器请求所述网络数据;
向所述服务器发送所述预请求信息,并接收所述服务器根据所述预请求信息返回的所述网络数据。
在本申请的一些实施例中,基于前述技术方案,所述装置被配置为:
按照异步请求向所述服务器发送所述预请求信息;
释放用于发送所述预请求信息的请求线程;
继续执行加载界面资源的线程。
在本申请的一些实施例中,基于前述技术方案,所述装置被配置为:
响应于展示网页的指令,创建网页视图对象;所述网页视图对象是用于展示和渲染页面的对象;
通过所述网页视图对象调用加载离线包的方法,以加载所述离线包。
根据本申请实施例的一方面,提供了一种网页生成方法,所述方法包括:
响应于终端设备进行初始化的请求,加载离线包,对超文本标记语言网页进行初始化;
获取所述终端设备中的网络数据;所述网络数据由所述终端设备向服务器请求得到;
在初始化完成后,对所述网络数据以及所述离线包进行渲染,得到页面数据;
向所述终端设备反馈所述页面数据,所述页面数据用于供所述终端设备根据所述页面数据生成待展示的网页。
根据本申请实施例的一方面,提供了一种网页生成装置,所述装置包括初始化模块、获取模块、渲染模块以及反馈模块,其中:
所述初始化模块,用于响应于终端设备进行初始化的请求,加载离线包,对超文本标记语言网页进行初始化;
所述获取模块,用于获取所述终端设备中的网络数据;所述网络数据由所述终端设备向服务器请求得到;
所述渲染模块,用于在初始化完成后,对所述网络数据以及所述离线包进行渲染,得到页面数据;
所述反馈模块,用于向所述终端设备反馈所述页面数据,所述页面数据用于供所述终端设备根据所述页面数据生成待展示的网页。
在本申请的一些实施例中,基于以上技术方案,所述装置被配置为:
接收所述终端设备传递的时间;所述时间用于指示所述终端设备获取预请求信息的时间,所述预请求信息是用于向所述服务器请求网络数据的信息;
根据所述时间以及预设等待时长,确定目标时间;所述预设等待时长是用于指示等待接收所述网络数据的时长;
若检测到所述当前时间未超过所述目标时间,则等待接收所述终端设备发送的网络数据。
在本申请的一些实施例中,基于以上技术方案,所述装置被配置为:
在初始化完成后,若未接收到所述终端设备发送的网络数据,则检测当前时间是否超过所述目标时间;
若检测到所述当前时间超过所述目标时间,则停止等待,并从服务器请求所述网络数据。
根据本申请实施例的一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各种可选实现方式中提供的方法。
根据本申请实施例的一方面,提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述各种可选实现方式中提供的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
在本申请实施例提供的技术方案中,响应于展示网页的指令,加载离线包;请求网页端进行初始化,并向服务器请求网络数据;将网络数据以及离线包传递至网页端,网络数据以及离线包用于供网页端进行数据渲染得到页面数据,根据页面数据生成待展示的页面。从而可以并行进行网络数据的请求,以在整体上提前获取到网络数据,并进一步将网络数据传递至网页端,以使网页端结合离线包和网络数据渲染得到页面数据,最终生成待展示的网页。不需要网页端在加载离线包之后才由自身发起数据请求,避免请求数据的时机较晚所导致的网页整体上生成速度慢的问题,从而提高了生成网页的速度,提高了网页信息的展示效率和用户体验。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参考附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。
图1示出了根据本申请一个实施例的应用场景的示意图。
图2示出了根据本申请一个实施例的网页生成方法的流程示意图。
图3示出了根据本申请一个实施例的网页生成方法的流程示意图。
图4示出了根据本申请一个实施例的离线包预请求的简化版类图。
图5示出了根据本申请一个实施例的网页生成方法的流程示意图。
图6示出了根据本申请一个实施例的网页端初始化完成前,获取到预请求数据的通信交互示意图。
图7示出了根据本申请一个实施例的网页端初始化完成后,等待未超时获取到网络数据的通信交互示意图。
图8示出了根据本申请一个实施例的网页端初始化完成后,等待超时但未获取到网络数据的通信交互示意图。
图9示出了根据本申请一个实施例的网页生成方法的流程示意图。
图10示出了根据本申请一实施例的网页生成装置。
图11示出了根据本申请一实施例的网页生成装置。
图12示出了根据本申请一个实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
可以理解的是,在本申请的具体实施方式中,涉及到账户信息、用户数据等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可、同意或者授权,且相关数据的收集、使用和处理遵守相关国家和地区的相关法律法规和标准。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了根据本申请一个实施例的应用场景的示意图。图1中包括终端设备101、网页端102以及服务器103。
终端设备101包括智能手机、平板电脑、笔记本电脑、具有显示屏的可穿戴设备、智能家电、个人计算机等计算机设备。终端设备101往往具有显示单元以用于显示网页,终端设备101中可以部署特定的程序模块,如客户端,以实现相应的网页生成方法。
网页端102是用于实现渲染得到相应页面数据的设备。对于需要结合离线包生成的网页而言,需要网页端102进行网页的初始化,并进行页面的渲染。其中,网页端102通过提供相应的应用程序接口与终端设备101之间进行通信交互,以从终端设备101中获取数据。
服务器103可以是独立的一个物理服务器,也可以是至少两个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器103用于提供网络数据。
终端设备101通过所提供的人机交互接口,响应于展示网页的指令,加载离线包。终端设备101请求网页端102进行初始化,网页端102据此开始进行超文本标记语言网页的初始化。终端设备101在请求网页端102进行初始化的同时,或者相近的一段时间内,向服务器103请求网络数据。终端设备101从服务器103得到网络数据之后,将网络数据发送至网页端102。网页端102从终端设备101接收网络数据。此外,网页端102还从终端设备101加载离线包中的资源数据;其中,网页端102可以从终端设备101获取离线包的存储路径,基于该存储路径从终端设备101加载离线包中的资源数据。网页端102在获取离线包以及网络数据后,对离线包和网络数据进行渲染,得到页面数据。网页端102将页面数据发送至终端设备101。终端设备101根据接收到的页面数据,确定待展示的网页。
采用上述方式,网页端102不需要等到离线包中的静态资源加载完成后,才从服务器103获取到网络数据,而是通过终端设备101并行地获取网络数据,使得网页端102在初始化之后直接从终端设备101中获取网络数据,能够在初始化完成后,尽快地进行数据渲染得到页面数据,从而快速地生成待展示的网页,提高展示网页的效率和用户体验。
上述的待展示的网页特指基于离线包生成的网页,展示网页的指令特指展示需要基于加载离线包的网页的指令。其中,离线包加载主要是HTML5提出的一种用于打包HTML、JavaScript、CSS等页面内静态资源,以减少网络环境对网络页面的干扰的技术手段,在HTML5标准的后续更新中,仍可能保留离线包这一技术手段。因此,本实施例所指的网页可以是各种采用离线包渲染得到的网页。
图2示出了根据本申请一个实施例的网页生成方法的流程示意图,应用于终端设备,该网页生成方法包括步骤S201至步骤S204。以下对步骤S201至步骤S204进行详细阐述。
步骤S201:响应于展示网页的指令,加载离线包。
展示网页的指令,比如:对终端设备上的网页链接点击的指令、终端设备打开后自动执行网页显示的指令、应用程序中加载离线包的指令等。其中,由于加载离线包的目的在于显示网页,因此可以将加载离线包的指令视作展示网页的指令。
在一实施例中,响应于展示网页的指令,加载离线包,包括:响应于展示网页的指令,创建网页视图对象;网页视图对象是用于展示和渲染页面的对象;通过网页视图对象调用加载离线包的方法,以加载离线包。
网页视图对象,指WebView对象,通过WebView类创建。WebView类包括WebView界面类以及WebView扩展类。WebView界面类负责处理Web界面逻辑,WebView扩展类是对WebView界面类的扩展,负责Web页面加载。WebView扩展类可以用于调用加载离线包方法,以加载离线包。
终端设备中的离线包可以保存于指定的存储路径,通过将存储路径发送至网页端,网页端可以根据存储路径从终端设备加载离线包。其中,离线包中保存大量静态资源,从终端设备获取该静态资源的速度更快、效率更高。
在一实施例中,终端设备包括业务客户端和基础客户端,业务客户端是至少用于实现指定业务的程序模块,基础客户端是至少用于请求网络数据的程序模块。业务客户端向基础客户端发起加载离线包的指令,使得基础客户端加载离线包。采用此方式,基础客户端提供一种能力,业务客户端调用这种能力,从而不需要每个业务客户端都重复实现相同的逻辑。
步骤S202:请求网页端进行初始化,并向服务器请求网络数据。
在一实施例中,请求网页端进行初始化包括:通过终端设备获取预请求信息,向服务器发送预请求信息,接收服务器根据预请求信息返回的网络数据。采用此方式,并行地或者提前地预请求得到网络数据。
需要说明的是,本实施例中网页初始化和获取预请求信息是同步进行的,在网页初始化过程中,执行离线包内部的html解析、js静态资源等解析任务。在一实施例中,获取预请求信息,包括:通过JSContext类获取预请求信息。
在一实施例中,向服务器请求网络数据,包括:获取预请求信息,并记录基于预请求信息开始请求网络数据的时间;将时间传递至网页端;时间用于供网页端检测到超时的情况下向服务器请求网络数据;向服务器发送预请求信息,并接收服务器根据预请求信息返回的网络数据。
基于预请求信息开始请求网络数据的时间,具体可以是获取预请求信息的时间,或者发送该预请求信息至服务器的时间,或者也可以是介于上述两者之间的时间等。该时间的作用在于指示终端设备已经开始请求网络数据。
为了避免由于网络质量差、线程堵塞等原因,造成极端情况下终端设备可能长时间无法预请求得到网络数据,本实施例还进一步记录了获取预请求信息的时间,将该时间传递给网页端,网页端可以根据该时间检测是否超时未接收到终端设备发送的网络数据,如果没有超时则等待接收终端设备发送的网络数据,如果超时则网页端从服务器获取网络数据。其中,该时间是进行等待的起始时间,在起始时间之后的一段时间内进行等待,比如,从起始时间之后的500ms内进行等待,如果超过该段时间,则超时,如果没有超过该段时间,则不超时。
在一实施例中,终端设备获取网络数据后,通过window.dataFromNative注入到网页的资源数据,网页端初始化完成后,基于window.dataFromNative判断是否含有响应数据,响应数据即该网络数据,如果有响应数据,则网页端直接使用响应数据,如果没有响应数据,则网页端从服务器请求响应数据。
采用上述方式,能够在异常情况导致终端设备长时间无法获得网络数据的情况下,及时使网页端获取到该网络数据,以使得结合该网络数据尽快生成待展示的网页。
在一实施例中,向服务器发送预请求信息,包括:按照异步请求向服务器发送预请求信息;释放用于发送预请求信息的请求线程;继续执行加载界面资源的线程。
采用上述方式,避免请求线程耗时过长,并使得终端设备尽快加载界面资源。
步骤S203:将网络数据以及离线包传递至网页端。
网络数据以及离线包用于供网页端初始化完成后进行数据渲染得到页面数据。
步骤S204:根据页面数据生成待展示的网页。
图3示出了根据本申请一个实施例的网页生成方法的流程图,该流程图包括步骤S301至步骤S308。
步骤S301:客户端创建webview对象,加载离线包。
用户进入需要加载离线包的页面,基础客户端创建WebView。
图4示出了根据本申请一个实施例的离线包预请求的简化版类图,基于该类图,具体阐述预请求的方式。
图4所示的简化版类图主要包括WebView界面类401、WebView扩展类402、聚合离线包处理器的handler类403、预请求处理器404、预请求信息模型405、离线包业务配置管理406、JSContext处理类407以及预请求类408。
其中,WebView界面类401用于处理Web界面逻辑,WebView扩展类402是对WebView界面类的扩展,用于加载Web页面。
由于离线包内部逻辑较多,每一种类型的逻辑可以定义为一个处理器,该处理器实质上是软件模块,而所有的处理器由聚合离线包处理器的handler类403来统一管理。
预请求处理器404用于处理离线包预请求逻辑,该逻辑包括:先从离线包业务配置管理406获取预请求信息,将预请求信息传递给预请求类308,以采用预请求类408进行网络请求获取Web页面的网络数据,将服务器返回的数据回到给WebView界面类401,由WebView界面类401回调给Web端。Web端指网页端。
预请求信息模型405用于存储预请求信息。离线包业务配置管理406用于提供离线包业务层配置接口,如添加或者移除JSBridge、是否允许加载离线包、更新离线包等,通过调用JSContext处理类接口,获取预请求信息。
JSContext处理类407用于处理提供离线包JSContext通用能力接口,如:是否开启页面loading、离线包卡片高度、预请求信息等。预请求类408用于向服务器发起网络请求,以请求Web页面的网络数据。
步骤S302:网页端初始化h5。
网页端,具体可以是用于渲染h5页面的一端,以下简称h5。目前的标准中,主要是h5标准,但本实施例并不排除后续的标准版本中仍可能存在其它支持离线包的标准。
步骤S303:客户端通过JSContext获取预请求信息。
在对网页端进行初始化的同时,基础客户端获取预请求信息。
步骤S304:客户端将开始请求时间注入h5。
开始请求时间可以是获取预请求信息的时间,也可以是发送预请求信息至服务器的时间,或者介于上述两者之间的时间。
步骤S305:客户端发起异步预请求,得到请求结果。
步骤S306:客户端将请求结果注入h5。
客户端基于获取的预请求信息进行异步请求,异步请求结束后,通过“window.dataFromNative”将请求结果注入h5。
步骤S307:网页端获取请求结果。
步骤S308:网页端渲染UI。
h5内部初始化完成,将客户端注入的数据渲染到页面。
采用上述方式,终端设备中的基础客户端并行地获取网络数据,以提高生成网页的速度。
图5示出了根据本申请一个实施例的网页生成方法的流程示意图,该网页生成方法应用网页端,包括步骤S501至步骤S504。以下对步骤S501至步骤S504进行详细阐述。
步骤S501:响应于终端设备进行初始化的请求,加载离线包,对超文本标记语言网页进行初始化。
网页端基于离线包在终端设备中的存储路径,从终端设备加载离线包。
步骤S502:获取终端设备中的网络数据。
网络数据由终端设备向服务器请求得到。
图6示出了根据本申请一个实施例的网页端初始化完成前,获取到预请求数据的通信交互示意图。图6所示的通信方包括业务客户端、业务web、基础客户端以及服务器。其中,业务Web是实现特定业务的网页端。
在图6所示的通信交互示意图中,业务客户端检测到加载离线包的指令,向基础客户端发出加载离线包的指令。基础客户端创建WebView,请求业务Web进行初始化,并获取预请求信息。基础客户端将开始请求时间注入h5。基础客户端开始向服务器发起预请求,接收服务器返回的请求结果。基础客户端将请求结果注入到h5。此后,业务Web初始化完成,并根据请求结果渲染页面。
采用此方式,业务Web初始过程中就获取到了网络数据,初始化过程与获取数据的过程并行存在,从而快速地获取到了网络数据,能够尽快渲染页面,提高生成网页的速度。
图7示出了根据本申请一个实施例的网页端初始化完成后,等待未超时获取到网络数据的通信交互示意图。
在图7所示的通信交互示意图中,业务客户端检测到加载离线包的指令,向基础客户端发出加载离线包的指令。基础客户端创建WebView,请求业务Web进行初始化,并获取预请求信息。基础客户端将开始请求时间注入h5。业务Web在获取到开始请求时间之前初始化已经完成。在初始化完成后,业务Web结合开始请求时间等待基础客户端发送网络数据。基础客户端开始向服务器发起预请求,接收服务器返回的请求结果。基础客户端将请求结果注入到h5。此时,业务Web在等待未超时的情况下,收到基础客户端的请求结果,并根据请求结果渲染页面。
采用上述方式,网页端在初始化完成后,依然能够提前获取到网络数据,以尽快生成网页。
图8示出了根据本申请一个实施例的网页端初始化完成后,等待超时但未获取到网络数据的通信交互示意图。
在图8所示的通信交互示意图中,业务客户端检测到加载离线包的指令,向基础客户端发出加载离线包的指令。基础客户端创建WebView,请求业务Web进行初始化,并获取预请求信息。基础客户端将开始请求时间注入h5。业务Web在获取到开始请求时间之前初始化已经完成。在初始化完成后,业务Web结合开始请求时间等待基础客户端发送网络数据。业务Web在从开始请求时间开始等待500ms后,检测到超时但未接收到网络数据,此时,业务Web请求数据。在业务Web请求数据后,服务器将请求结果发送至基础客户端,基础客户端将请求结果注入h5。业务Web获取请求结果,并根据请求结果渲染页面。
采用此方式,可以在等待超时的情况获取到网络数据,避免获取网络数据失败。
在一实施例中,获取终端设备中的网络数据,包括:接收终端设备传递的时间;时间用于指示终端设备获取预请求信息的时间,预请求信息是用于向服务器请求网络数据的信息;根据时间以及预设等待时长,确定目标时间;预设等待时长是用于指示等待接收网络数据的时长;若检测到当前时间未超过目标时间,则等待接收终端设备发送的网络数据。
比如,预设等待时长为500ms,时间为t,则目标时间为t+500ms。
采用此方式,可以在超时前从终端设备获取到网络数据,以快速生成网页。
在一实施例中,根据时间以及预设超时时长,确定目标时间之后,网页生成方法还包括:在初始化完成后,若未接收到终端设备发送的网络数据,则检测当前时间是否超过目标时间;若检测到当前时间超过目标时间,则停止等待,并从服务器请求网络数据。
采用此方式,可以避免超时的情况下及时服务器请求网络数据,避免终端设备异常的情况下所引起的获取网络数据失败的问题,并及时获取网络数据。
步骤S503:对网络数据以及离线包进行渲染,得到页面数据。
步骤S504:向终端设备反馈页面数据,页面数据用于供终端设备根据页面数据生成待展示的网页。
图9示出了根据本申请一个实施例的网页生成方法的流程示意图,结合图9具体阐述终端设备和网页端整体上的流程。图9所示流程图包括终端设备侧的流程,包括步骤S601至步骤S605;还包括网页端侧的流程,具体包括步骤S606至步骤S613。
其中,对于终端设备侧,包括:
步骤S601:加载离线包,创建WebView。
步骤S602:通过JSContext获取预请求信息。
步骤S603:将开始请求时间注入h5。
步骤S604:客户端发起异步预请求。
步骤S605:将请求结果注入h5。
对于网页端这一侧,包括:
步骤S606:h5内部开始初始化。
步骤S607:判断h5初始化是否完成。
其中,若初始化完成则执行步骤S608,若初始化未完成,则执行步骤S609。
步骤S608:检测是否接收到response。
其中,若接收到response,则执行步骤S613,若未接收到response,则执行步骤S609。
步骤S609:检测是否达到timestamp+wait。
其中,若达到,则执行步骤S610,若未达到,则执行步骤S611。
步骤S610:h5自己发起网络请求,请求数据。
步骤S611:等待客户端请求的数据。
步骤S612:收到客户端请求的数据。
步骤S613:渲染UI。
其中,网页端可以在初始化之后,判断“window.dataFromNative”是否含有response,有则直接使用response数据;否则,等待到对应timestamp+wait,如果请求完成,使用response数据;否则,由h5发出请求。response为响应数据,即网络数据。timestamp为开始请求时间。wait为等待的时间,例如可以是500ms。
采用上述方式,终端设备与网页端配合实现提高生成网页的速度。
图10示出了根据本申请一实施例的网页生成装置,网页生成装置包括加载模块701、请求模块702、传递模块703以及生成模块704,其中:
加载模块701,用于响应于展示网页的指令,加载离线包;
请求模块702,用于请求网页端进行初始化,并向服务器请求网络数据;
传递模块703,用于将网络数据以及离线包传递至网页端;网络数据以及离线包用于供网页端初始化完成后进行数据渲染得到页面数据;
生成模块704,用于根据页面数据生成待展示的网页。
在本申请的一示例性实施例中,网页生成装置配置为:
获取预请求信息,并记录基于预请求信息开始请求网络数据的时间;
将时间传递至网页端;时间用于供网页端检测到超时的情况下向服务器请求网络数据;
向服务器发送预请求信息,并接收服务器根据预请求信息返回的网络数据。
在本申请的一示例性实施例中,网页生成装置配置为:
按照异步请求向服务器发送预请求信息;
释放用于发送预请求信息的请求线程;
继续执行加载界面资源的线程。
在本申请的一示例性实施例中,网页生成装置配置为:
响应于展示网页的指令,创建网页视图对象;网页视图对象是用于展示和渲染页面的对象;
通过网页视图对象调用加载离线包的方法,以加载离线包。
图11示出了根据本申请一实施例的网页生成装置,网页生成装置包括响应模块801、获取模块802、渲染模块803以及反馈模块804,其中:
响应模块801,用于响应于终端设备进行初始化的请求,加载离线包,对超文本标记语言网页进行初始化;
获取模块802,用于获取终端设备中的网络数据;网络数据由终端设备向服务器请求得到;
渲染模块803,用于在初始化完成后,对网络数据以及离线包进行渲染,得到页面数据;
反馈模块804,用于向终端设备反馈页面数据,页面数据用于供终端设备根据页面数据生成待展示的网页。
在本申请的一示例性实施例中,网页生成装置配置为:
接收终端设备传递的时间;时间用于指示终端设备获取预请求信息的时间,预请求信息是用于向服务器请求网络数据的信息;
根据时间以及预设等待时长,确定目标时间;预设等待时长是用于指示等待接收网络数据的时长;
若检测到当前时间未超过目标时间,则等待接收终端设备发送的网络数据。
在本申请的一示例性实施例中,网页生成装置配置为:
在初始化完成后,若未接收到终端设备发送的网络数据,则检测当前时间是否超过目标时间;
若检测到当前时间超过目标时间,则停止等待,并从服务器请求网络数据。
下面参考图12来描述根据本申请实施例的电子设备90。图12显示的电子设备90仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,电子设备90以通用计算设备的形式表现。电子设备90的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
其中,存储单元存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述示例性方法的描述部分中描述的根据本申请各种示例性实施方式的步骤。例如,处理单元910可以执行如图2中所示的各个步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备90也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备90交互的设备通信,和/或与使得该电子设备90能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。输入/输出(I/O)接口950与显示单元940相连。并且,电子设备90还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备90的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是服务器、终端装置等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如JAVA、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器或者移动终端等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种网页生成方法,其特征在于,所述方法包括:
响应于展示网页的指令,加载离线包;
请求网页端进行初始化,并向服务器请求网络数据;
将所述网络数据以及所述离线包传递至所述网页端;所述网络数据以及所述离线包用于供所述网页端初始化完成后进行数据渲染得到页面数据;
根据所述页面数据生成待展示的网页。
2.根据权利要求1所述的方法,其特征在于,向服务器请求网络数据,包括:
获取预请求信息,并记录基于所述预请求信息开始请求网络数据的时间;
将所述时间传递至所述网页端;所述时间用于供所述网页端检测到超时的情况下向所述服务器请求所述网络数据;
向所述服务器发送所述预请求信息,并接收所述服务器根据所述预请求信息返回的所述网络数据。
3.根据权利要求2所述的方法,其特征在于,向所述服务器发送所述预请求信息,包括:
按照异步请求向所述服务器发送所述预请求信息;
释放用于发送所述预请求信息的请求线程;
继续执行加载界面资源的线程。
4.根据权利要求1所述的方法,其特征在于,响应于展示网页的指令,加载离线包,包括:
响应于展示网页的指令,创建网页视图对象;所述网页视图对象是用于展示和渲染页面的对象;
通过所述网页视图对象调用加载离线包的方法,以加载所述离线包。
5.一种网页生成方法,其特征在于,所述方法包括:
响应于终端设备进行初始化的请求,加载离线包,对超文本标记语言网页进行初始化;
获取所述终端设备中的网络数据;所述网络数据由所述终端设备向服务器请求得到;
在初始化完成后,对所述网络数据以及所述离线包进行渲染,得到页面数据;
向所述终端设备反馈所述页面数据,所述页面数据用于供所述终端设备根据所述页面数据生成待展示的网页。
6.根据权利要求5所述的方法,其特征在于,获取所述终端设备中的网络数据,包括:
接收所述终端设备传递的时间;所述时间用于指示所述终端设备获取预请求信息的时间,所述预请求信息是用于向所述服务器请求网络数据的信息;
根据所述时间以及预设等待时长,确定目标时间;所述预设等待时长是用于指示等待接收所述网络数据的时长;
若检测到当前时间未超过所述目标时间,则等待接收所述终端设备发送的网络数据。
7.根据权利要求6所述的方法,其特征在于,根据所述时间以及预设超时时长,确定目标时间之后,所述方法还包括:
在初始化完成后,若未接收到所述终端设备发送的网络数据,则检测当前时间是否超过所述目标时间;
若检测到所述当前时间超过所述目标时间,则停止等待,并从服务器请求所述网络数据。
8.一种网页生成装置,其特征在于,所述装置包括加载模块、请求模块、传递模块以及生成模块,其中:
所述加载模块,用于响应于展示网页的指令,加载离线包;
所述请求模块,用于请求网页端进行初始化,并向服务器请求网络数据;
所述传递模块,用于将所述网络数据以及所述离线包传递至所述网页端;所述网络数据以及所述离线包用于供所述网页端初始化完成后进行数据渲染得到页面数据;
所述生成模块,用于根据所述页面数据生成待展示的网页;
或者,所述装置包括初始化模块、获取模块、渲染模块以及反馈模块,其中:
所述初始化模块,用于响应于终端设备进行初始化的请求,加载离线包,对超文本标记语言网页进行初始化;
所述获取模块,用于获取所述终端设备中的网络数据;所述网络数据由所述终端设备向服务器请求得到;
所述渲染模块,用于在初始化完成后,对所述网络数据以及所述离线包进行渲染,得到页面数据;
所述反馈模块,用于向所述终端设备反馈所述页面数据,所述页面数据用于供所述终端设备根据所述页面数据生成待展示的网页。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的方法。
CN202211482972.XA 2022-11-24 2022-11-24 网页生成方法、装置、电子设备及存储介质 Pending CN115756462A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211482972.XA CN115756462A (zh) 2022-11-24 2022-11-24 网页生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211482972.XA CN115756462A (zh) 2022-11-24 2022-11-24 网页生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115756462A true CN115756462A (zh) 2023-03-07

Family

ID=85337095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211482972.XA Pending CN115756462A (zh) 2022-11-24 2022-11-24 网页生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115756462A (zh)

Similar Documents

Publication Publication Date Title
US10003671B2 (en) Capturing and replaying application sessions using resource files
CN111159614B (zh) 网页资源获取方法以及装置
US9513979B2 (en) Mobile communication device providing interconnectivity between apps based on storage scope
CN113900834B (zh) 基于物联网技术的数据处理方法、装置、设备及存储介质
CN110232091B (zh) 用于同步数据的方法、系统和装置
US11729248B2 (en) Web application component migration to a cloud computing system
CN109725887B (zh) 基于消息研发框架的数据交互方法、装置及终端设备
CN112015383A (zh) 一种登录方法和装置
CN116561013B (zh) 基于目标服务框架的测试方法、装置、电子设备和介质
CN110062035A (zh) 一种基于双队列的http请求方法和装置
CN110807535A (zh) 统一预约平台的构建方法、构建装置和统一预约平台系统
CN113806008A (zh) 集群访问方法、装置、电子设备及可读存储介质
CN110825622A (zh) 软件测试方法、装置、设备和计算机可读介质
CN112764746A (zh) 数据处理方法、装置、电子设备及存储介质
CN115756462A (zh) 网页生成方法、装置、电子设备及存储介质
CN113779122B (zh) 导出数据的方法和装置
CN111130702B (zh) 解码方法、解码系统、电子设备和存储介质
CN114490265A (zh) 一种数据采集方法、装置、设备及存储介质
CN114490266A (zh) 一种数据采集方法、装置、设备及存储介质
CN113806650A (zh) 网页应用的处理方法及装置、存储介质及电子设备
CN109840073B (zh) 业务流程的实现方法和装置
CN113722115A (zh) 调用接口的方法、装置、设备和计算机可读介质
CN113791777A (zh) 图片显示方法及装置、计算机可读存储介质及电子设备
CN112491940A (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
CN111090485B (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