一种应用程序的网页加载的方法、装置及电子设备制造方法及图纸

技术编号:18575652 阅读:40 留言:0更新日期:2018-08-01 10:39
本发明专利技术公开一种应用程序的网页加载的方法、装置及电子设备,涉及互联网技术领域,能够解决现有技术中在应用程序内访问网页时,白屏时间较长的问题。本发明专利技术的方法主要包括:在获取待访问的网页数据后,应用程序加载、解析并渲染所述网页数据中的非JavaScript资源;当所述应用程序确定渲染完成事件被生成时,加载并执行所述网页数据中的JavaScript资源,以便更新基于所述非JavaScript资源渲染的网页,所述渲染完成事件用于指示所有非JavaScript资源已渲染完成。本发明专利技术主要适用于在应用程序内访问网页的场景中。

Method, device and electronic device for loading webpage of application program

The invention discloses a method, device and electronic device for loading a web page of an application, which involves the technical field of the Internet, and can solve the problem of a long white screen time when the web page is accessed in an application. The method of the invention mainly includes: after obtaining the data to be accessed, the application loads, parses, and render non - JavaScript resources in the described web data; when the application determines that the rendering completion event is generated, the JavaScript resource in the page data is loaded and executed to update the non - JavaScript resource based on the described non - JavaScript resource rendered web page. The rendering completion event is used to indicate that all non JavaScript resources have been rendered. The invention is mainly applicable to the scene of accessing web pages in application programs.

【技术实现步骤摘要】
一种应用程序的网页加载的方法、装置及电子设备
本专利技术涉及互联网
,特别是涉及一种应用程序的网页加载的方法、装置及电子设备。
技术介绍
随着互联网技术的发展,各式各样的应用软件逐渐融入人们的生活。如购物软件、视频软件以及信息搜索软件等。在应用软件中访问网页时,移动设备通过单线程来加载并解析网页源代码,即一般先加载、解析并渲染非JavaScript(即爪哇脚本)资源,当遇到JavaScript资源时,会暂停加载非JavaScript资源,而转向加载并执行JavaScript资源,在JavaScript资源执行完成后,才继续加载、解析并渲染该JavaScript资源之后的非JavaScript资源,直至将所有的资源渲染完毕,才能展示出页面内容。由于加载并执行JavaScript资源需要花费大量时间,所以使得页面白屏的时间较长。为了减少白屏的时间,现有技术中提供了一种方案:每遇到一个JavaScript资源,就通过settimeout修改JavaScript资源的加载时间,使得移动设备先加载非JavaScript资源,再加载该JavaScript资源。但是,现有的方案不仅需要花费大量时间对每个JavaScript资源进行修改,而且在对每个JavaScript资源的加载时间进行控制时,还需要对加载时间不断地进行调试,从而使得白屏时间依然较长,无法达到秒出的效果。
技术实现思路
有鉴于此,本专利技术提供一种应用程序的网页加载的方法、装置及电子设备,能够解决现有技术中在应用程序内访问网页时,白屏时间较长的问题。第一方面,本专利技术提供了一种应用程序的网页加载的方法,所述方法包括:在获取待访问的网页数据后,应用程序加载、解析并渲染所述网页数据中的非JavaScript资源;当所述应用程序确定渲染完成事件被生成时,加载并执行所述网页数据中的JavaScript资源,以便更新基于所述非JavaScript资源渲染的网页,所述渲染完成事件用于指示所有非JavaScript资源已渲染完成。可选的,所述应用程序确定渲染完成事件被生成包括:所述应用程序创建容器;所述容器监控所述网页数据中的所有非JavaScript资源是否已渲染完成;所述容器确定所有非JavaScript资源已渲染完成时,生成所述渲染完成事件,以向所述应用程序通知所述渲染完成事件的生成。可选的,所述应用程序创建容器包括:所述应用程序创建WebView组件,并基于所述WebView组件创建所述容器。可选的,所述容器监控所述网页数据中的所有非JavaScript资源是否已渲染完成包括:若所述容器接收到所述WebView组件发送的渲染完成通知,则所述容器确定所述网页数据中的所有非JavaScript资源已渲染完成。可选的,所述加载并执行所述网页数据中的JavaScript资源包括:所述应用程序将所述网页数据中的JavaScript资源加入到JavaScript管理队列中;当所述容器生成所述渲染完成事件时,所述容器通过所述WebView组件向所述JavaScript管理队列通知所述渲染完成事件;当所述JavaScript管理队列监听到所述渲染完成事件时,所述应用程序通过所述JavaScript管理队列加载并执行所述网页数据中的JavaScript资源。可选的,所述方法还包括:在所述应用程序结束运行时,释放所述容器。第二方面,本专利技术提供了一种应用程序的网页加载的装置,所述装置包括:加载解析渲染单元,用于在获取待访问的网页数据后,应用程序加载、解析并渲染所述网页数据中的非JavaScript资源;确定单元,用于确定渲染完成事件是否被生成,所述渲染完成事件用于指示所有非JavaScript资源已渲染完成;加载执行单元,用于当所述确定单元确定渲染完成事件被生成时,加载并执行所述网页数据中的JavaScript资源,以便更新基于所述非JavaScript资源渲染的网页。可选的,所述确定单元包括:创建模块,用于创建容器;监控模块,用于利用所述创建模块创建的所述容器监控所述网页数据中的所有非JavaScript资源是否已渲染完成;生成模块,用于当所述容器确定所有非JavaScript资源已渲染完成时,生成所述渲染完成事件,以向所述应用程序通知所述渲染完成事件的生成。可选的,所述创建模块用于创建WebView组件,并基于所述WebView组件创建所述容器。可选的,所述监控模块用于当所述容器接收到所述WebView组件发送的渲染完成通知时,所述容器确定所述网页数据中的所有非JavaScript资源已渲染完成。可选的,所述加载执行单元包括:加入模块,用于将所述网页数据中的JavaScript资源加入到JavaScript管理队列中;通知模块,用于当所述容器生成所述渲染完成事件时,由所述容器通过所述WebView组件向所述JavaScript管理队列通知所述渲染完成事件;加载执行模块,用于当所述JavaScript管理队列监听到所述渲染完成事件时,通过所述JavaScript管理队列加载并执行所述网页数据中的JavaScript资源。可选的,所述装置还包括:释放单元,用于在所述应用程序结束运行时,释放所述容器。第三方面,本专利技术提供一种电子设备,所述电子设备包括:处理器、与所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够:在获取待访问的网页数据后,加载、解析并渲染所述网页数据中的非JavaScript资源;当确定渲染完成事件被生成时,加载并执行所述网页数据中的JavaScript资源,以便更新基于所述非JavaScript资源渲染的网页,所述渲染完成事件用于指示所有非JavaScript资源已渲染完成。借由上述技术方案,本专利技术提供的应用程序的网页加载的方法、装置及电子设备,能够在应用程序获得待访问的网页数据后,先加载、解析并渲染该网页数据中的非JavaScript资源,并在加载、解析并渲染非JavaScript资源的过程中,应用程序实时监听是否有渲染完成事件生成,当监听到该渲染完成事件生成时,应用程序可以确定网页数据中的所有非JavaScript资源都已渲染完成,并立即加载并执行网页数据中的JavaScript资源,从而将待访问网页的所有数据显示在界面上。由此可知,本专利技术在访问网页时,能够通过监听渲染完成事件的生成来确定非JavaScript资源的渲染完成时间,并直接将该时间作为加载JavaScript资源的开始时间,就可以实现加载非JavaScript资源与加载JavaScript资源之间的无缝衔接,而无需一次次对JavaScript资源的加载时间进行调整,从而降低了页面白屏的时间。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提本文档来自技高网...

【技术保护点】
1.一种应用程序的网页加载的方法,其特征在于,所述方法包括:在获取待访问的网页数据后,应用程序加载、解析并渲染所述网页数据中的非JavaScript资源;当所述应用程序确定渲染完成事件被生成时,加载并执行所述网页数据中的JavaScript资源,以便更新基于所述非JavaScript资源渲染的网页,所述渲染完成事件用于指示所有非JavaScript资源已渲染完成。

【技术特征摘要】
1.一种应用程序的网页加载的方法,其特征在于,所述方法包括:在获取待访问的网页数据后,应用程序加载、解析并渲染所述网页数据中的非JavaScript资源;当所述应用程序确定渲染完成事件被生成时,加载并执行所述网页数据中的JavaScript资源,以便更新基于所述非JavaScript资源渲染的网页,所述渲染完成事件用于指示所有非JavaScript资源已渲染完成。2.根据权利要求1所述的方法,其特征在于,所述应用程序确定渲染完成事件被生成包括:所述应用程序创建容器;所述容器监控所述网页数据中的所有非JavaScript资源是否已渲染完成;所述容器确定所有非JavaScript资源已渲染完成时,生成所述渲染完成事件,以向所述应用程序通知所述渲染完成事件的生成。3.根据权利要求2所述的方法,其特征在于,所述应用程序创建容器包括:所述应用程序创建WebView组件,并基于所述WebView组件创建所述容器。4.根据权利要求3所述的方法,其特征在于,所述容器监控所述网页数据中的所有非JavaScript资源是否已渲染完成包括:若所述容器接收到所述WebView组件发送的渲染完成通知,则所述容器确定所述网页数据中的所有非JavaScript资源已渲染完成。5.根据权利要求4所述的方法,其特征在于,所述加载并执行所述网页数据中的JavaScript资源包括:所述应用程序将所述网页数据中的JavaScript资源加入到JavaScript管理队列中;当所述容器生成所述渲染完成事件时,所述容器通过所述WebView组件向所述JavaScript管理队列通知所述渲染完成事件;当所述JavaScript管理队列监听到所述渲染完成事件时,所述应用程序通过所述JavaScript管理队列加载并执行所述网页数据中的JavaScript资源。6.根据权利要求2至5中任一项所述的方法,其特征在于,所述方法还包括:在所述应用程序结束运行时,释放所述容器。7.一种应用程序的网页加载的装置,其特征在于,所述装置包括:加载解析渲染单元,用于在获取待访问的网页数据后,应用程序加载、解析并渲染所述网页数据中的非JavaScript资源;确定单元,用于确定渲染完成事件是否被生成,所述渲染完成事件用于指示所有非Jav...

【专利技术属性】
技术研发人员:李猛
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1