一种访问网页的方法及装置的制造方法
【技术领域】
[0001]本发明涉及移动终端的应用处理技术领域,特别涉及一种访问网页的方法及装置。
【背景技术】
[0002]近年来随着硬件技术的快速发展,移动终端的硬件配置越来越高,例如,配置多核CPUCCentral Processing Unit,中央处理器)、IG以上的内存等等,这些高配置的移动终端足以支持多进程应用的运行。
[0003]然而,现有技术中,应用于移动终端的浏览器大多是单进程的。通过单进程浏览器访问网页时,网页数据下载、解析、展示、音视频播放等等都在同一个进程中进行,这样一旦正在访问的一个网页出错,会导致整个浏览器崩溃并退出,影响用户体验。
【发明内容】
[0004]本发明实施例公开了一种访问网页的方法,以使得用户通过应用于移动终端的浏览器访问网页出错时,不会导致整个浏览器崩溃退出,提高用户体验效果。
[0005]为达到上述目的,本发明实施例公开了一种访问网页的方法,所述方法包括:
[0006]主进程接收针对目标网页的访问请求信息,根据所述访问请求信息生成针对目标网页的渲染请求信息,并向渲染进程发送所述渲染请求信息,其中,所述访问请求信息和渲染请求信息中,均携带所述目标网页的网址;
[0007]所述渲染进程根据所述渲染请求信息生成针对目标网页的下载请求信息,并向网络进程发送所述下载请求信息,其中,所述下载请求中,携带所述目标网页的网址;
[0008]所述网络进程根据所述下载请求信息,下载所述目标网页对应的源代码,并将所下载的源代码提供给所述渲染进程;
[0009]所述渲染进程解析所述目标网页对应的源代码,并根据解析结果进行网页渲染,将渲染结果发送至所述主进程;
[0010]所述主进程展示所述渲染结果。
[0011]较佳的,所述向渲染进程发送所述渲染请求信息,包括:
[0012]判断渲染进程是否已启动;
[0013]若为是,则向所述渲染进程发送所述渲染请求信息;
[0014]若为否,则启动所述渲染进程,并向所述渲染进程发送所述渲染请求信息。
[0015]较佳的,所述向网络进程发送所述下载请求信息,包括:
[0016]判断网络进程是否已启动;
[0017]若为是,则向所述网络进程发送所述下载请求信息;
[0018]若为否,则向所述主进程发送网络进程启动请求信息,并在接收到所述主进程发送的网络进程已启动通知消息后,向所述网络进程发送所述下载请求信息。
[0019]较佳的,所述将所下载的源代码提供给所述渲染进程,包括:
[0020]将所述目标网页对应的源代码存储在预设的共享区域,向所述渲染进程发送源代码下载完毕通知消息,其中,所述源代码下载完毕通知消息中,携带所述目标网页对应的源代码的标识;
[0021]所述渲染进程解析所述目标网页对应的源代码,包括:
[0022]所述渲染进程根据所述下载完毕通知消息中携带的目标网页对应的源代码的标识,在预设的共享区域确定所述目标网页对应的源代码,对该源代码进行解析。
[0023]较佳的,所述根据解析结果进行网页渲染,包括:
[0024]确定所述目标网页对应的源代码的解析结果中包含的待下载资源,向所述网络进程发送下载待下载资源请求信息,接收所述网络进程发送的待下载资源的源代码,解析所述待下载资源的源代码,根据所述目标网页对应源代码的解析结果和所述待下载资源的源代码的解析结果进行网页渲染。
[0025]为达到上述目的,本发明实施例公开了一种访问网页的装置,所述装置包括:
[0026]主进程模块、渲染进程模块和网络进程模块;
[0027]其中,所述主进程模块,包括:访问请求接收子模块、渲染请求生成子模块、渲染请求发送子模块和渲染结果展示子模块;
[0028]所述渲染进程模块,包括:下载请求生成子模块、下载请求发送子模块、源代码解析子模块、网页渲染子模块和渲染结果发送子模块;
[0029]所述网络进程模块,包括:源代码下载子模块和源代码提供子模块;
[0030]所述访问请求接收子模块,用于接收针对目标网页的访问请求信息,所述访问请求信息中,携带所述目标网页的网址;
[0031]所述渲染请求生成子模块,用于根据所述访问请求信息生成针对目标网页的渲染请求信息,所述渲染请求信息中,携带所述目标网页的网址;
[0032]所述渲染请求发送子模块,用于向渲染进程发送所述渲染请求信息;
[0033]所述下载请求生成子模块,用于根据所述渲染请求信息生成针对目标网页的下载请求信息,所述下载请求信息中,携带所述目标网页的网址;
[0034]所述下载请求发送子模块,用于向网络进程发送下载请求信息;
[0035]所述源代码下载子模块,用于根据所述下载请求信息,下载所述目标网页对应的源代码;
[0036]所述源代码提供子模块,用于将所述源代码下载子模块下载的源代码提供给所述渲染进程;
[0037]所述源代码解析子模块,用于解析所述目标网页对应的源代码;
[0038]所述网页渲染子模块,用于根据所述源代码解析子模块的解析结果进行网页渲染;
[0039]所述渲染结果发送子模块,用于将渲染结果发送至所述主进程;
[0040]所述渲染结果展示子模块,用于展示所述渲染结果。
[0041]较佳的,所述主进程模块,还包括:渲染进程判断子模块和渲染进程启动子模块;
[0042]所述渲染进程判断子模块,用于判断渲染进程是否已启动,若判断得所述渲染进程已启动,则触发所述渲染请求发送子模块,若判断得所述渲染进程未启动,则触发所述渲染进程启动子模块;
[0043]所述渲染进程启动子模块,用于启动所述渲染进程,并触发所述渲染请求发送子模块。
[0044]较佳的,所述渲染进程,还包括:网络进程判断子模块、启动请求发送子模块和通知消息接收子模块;
[0045]所述网络进程判断子模块,用于判断网络进程是否已启动,若判断得所述网络进程已启动,则触发所述下载请求发送子模块,若判断得所述网络进程未启动,则触发所述启动请求发送子模块;
[0046]所述启动请求发送子模块,用于向所述主进程发送网络进程启动请求信息;
[0047]所述通知消息接收子模块,用于接收所述主进程发送的网络进程已启动通知消息,并触发所述下载请求发送子模块。
[0048]较佳的,所述源代码提供子模块,包括:源代码存储子模块和下载完毕通知消息发送子模块;
[0049]所述源代码存储子模块,用于将所述目标网页对应的源代码存储在预设的共享区域;
[0050]所述下载完毕通知消息子模块,用于向所述渲染进程发送源代码下载完毕通知消息,其中,所述源代码下载完毕通知消息中,携带所述目标网页对应的源代码的标识;
[0051]所述源代码解析子模块,具体用于根据所述下载完毕通知消息中携带的目标网页对应的源代码的标识,在预设的共享区域确定所述目标网页对应的源代码,对该源代码进行解析。
[0052]较佳的,所述网页渲染子模块,具体用于确定所述目标网页对应的源代码的解析结果中包含的待下载资源,向所述网络进程发送下载待下载资源请求信息,接收所述网络进程发送的待下载资源的源代码,解析所述待下载资源的源代码,根据所述目标网页对应源代码的解析结果和所述待下载资源的源代码的解析结果进行网页渲染。
[0053]由以上可见,本方案中网络进程主要用于下载目标网页的源代码数据,渲染进程对目标网页的源代码数据