本申请提供了一种网页预加载方法与系统,涉及网络技术领域。方法包括:获取网页的正常显示时间和所述网页中各脚本的加载时间;对所述网页的正常显示时间和所述网页中各脚本的加载时间进行分析,从所述网页对应的各脚本中确定特定的脚本;调用目标页面对应的特定的脚本预加载至缓存中;根据所述缓存中特定的脚本对所述目标页面中的被触发链接进行渲染,使所述被触发链接对应的页面内容正常显示。本申请缓存中特定的脚本保证了页面正常展现,因此减少了非必要的数据的网络下载量,加快了目标页面中被触发链接时的页面渲染速度,降低了预加载资源成本,从而使页面的显示效果和预加载资源成本之间达到平衡,高效地显示被触发链接的页面内容。
【技术实现步骤摘要】
本申请涉及网络
,特别是涉及ー种网页预加载方法与系统。
技术介绍
在传统的用户网络浏览情景下,浏览器需要等到用户点击网页链接后才开始对页面中的各资源不断地进行下载、运行,直到相关资源全部下载完成后,才能够完成页面展现。在这种情景下,用户从触发页面的链接到看到该链接对应的完整页面一般需要超过10秒的时间。如果此链接对应的网站代码设计不合理,会导致等待时间更长,使页面加载时间过长。 为此,很多浏览器会分析用户的行为,从而对用户潜在点击的链接进行预测,并通过浏览器进行预加载,进而减少页面的加载时间。当用户点击已经预加载的结果后,就会直接从内存获取对应网页资源数据,达到加速显示的效果。其基本的预加载流程包括(I)点击预测浏览器会预测用户接下来的点击链接,提前为用户发起网络请求;(2)资源下载在用户点击链接前,浏览器会将对应网页全部资源数据保存在本地缓存中;(3)页面资源全部下载完后,当用户点击链接时,下载的页面资源被加载到主页面上。可见,当用户点击链接后,此时浏览器会直接使用浏览器中的缓存数据来代替原有的网络请求得到的资源。在最佳状态下,本地的数据获取时间可以忽略不计,因此远远小于网络上资源下载的时间消耗,提高提升浏览速度,最终提升用户体验。但是,对这种简单预加载策略进行实验和评估,效果并不是十分理想。这是因为,如果浏览器下载当前显示页面对应的全部资源时,整个网络连接数和下载数据量会大幅度提升。这样不仅导致客户端网络拥堵、影响用户正常的网络浏览;而且ー些未被触发的页面对应的全部资源也进行了预加载,会造成大量非必要的数据进行传输,从而大大增加预加载资源成本。可见,现有的预加载方案无法在显示效果和预加载资源成本之间达到平衡,导致加载页面的速度过慢,或者资源成本高,从而降低了被触发页面的显示效率。
技术实现思路
本申请提供了一种网页预加载方法与系统,以解决现有的预加载方案,无法在显示效果和预加载资源成本之间达到平衡,导致用户浏览体验差的问题。为了解决上述问题,本申请公开了一种网页预加载方法,包括获取网页的正常显示时间和所述网页中各脚本的加载时间;对所述网页的正常显示时间和所述网页中各脚本的加载时间进行分析,从所述网页对应的各脚本中确定特定的脚本;调用目标页面对应的特定的脚本预加载至缓存中;根据所述缓存中特定的脚本对所述目标页面中的被触发链接进行渲染,使所述被触发链接对应的页面内容正常显示。优选地,在所述根据所述缓存中特定的脚本对所述目标页面中的被触发链接进行渲染,使所述被触发链接对应的页面内容正常显示的步骤之后,还包括调用所述被触发链接对应的页面中除所述特定的脚本外其他脚本进行加载。优选地,所述对所述网页的正常显示时间和所述网页中各脚本的加载时间进行分析时将加载时间小于或等于所述网页的正常显示时间的脚本确定为所述网页的特定的脚本。优选地,所述获取网页的正常显示时间和所述网页中各脚本的加载时间的步骤包括通过对所述网页进行模拟渲染,对相应页面的渲染效果进行采样,获取所述网页的正常显示时间和所述网页中各脚本的加载时间。优选地,所述方法还包括将所述特定的脚本的信息和所述除特定的脚本外其他脚本的信息存储到脚本列表中;所述调用目标页面对应的特定的脚本预加载至缓存中的步骤包括根据所述脚本列表中目标页面的特定的脚本的信息和所述除特定的脚本外其他脚本的信息,确定客户端待调用的目标页面对应的特定的脚本,井向服务器发送请求,预加载所述对应的特定的脚本至缓存中供目标页面调用。 优选地,所述特定的脚本的信息为所述特定的脚本对应的加载时间。优选地,所述调用目标页面对应的特定的脚本预加载至缓存中的步骤包括在提交搜索请求至搜索引擎后,调用搜索结果中目标页面对应的特定的脚本预加载至缓存中。为了解决上述问题,本申请还公开了ー种网页预加载系统,包括获取模块,用于获取网页的正常显示时间和所述网页中各脚本的加载时间;确定模块,用于对所述网页的正常显示时间和所述网页中各脚本的加载时间进行分析,从所述网页对应的各脚本中确定特定的脚本;预加载模块,用于调用目标页面对应的特定的脚本预加载至缓存中;渲染模块,用于根据所述缓存中特定的脚本对所述目标页面中的被触发链接进行渲染,使所述被触发链接对应的页面内容正常显示。优选地,所述确定模块,用于将加载时间小于或等于所述网页的正常显示时间的脚本确定为所述网页的特定的脚本。优选地,所述获取模块,用于通过对所述网页进行模拟渲染,在每个脚本加载完毕时对相应页面的渲染效果进行采样,获取所述网页的正常显示时间和所述网页中各脚本的加载时间。与现有技术相比,本申请具有以下优点本申请中,服务器端先收集获取全网全部或部分网页的正常显示时间和网页中各脚本的加载时间,进而进行分析确定各网页的特定的脚本;当客户端进行预加载时,调用目标页面对应的特定的脚本预加载至缓存中。通过实际分析,如果客户端浏览器只下载特定的脚本,如构成主页面显示要素的脚本,而暂不下载除特定的脚本外的其他脚本,如动态显示效果的脚本,这些脚本往往只是影响页面展现的美观程度,对页面中展示的页面内容影响不大。在此基础上,本申请首先对加载时间过长的脚本进行过滤,即先行将特定的脚本加载至浏览器的缓存中,在被触发页面中的其他元素显示完毕后,再通知浏览器将被触发页面中过滤掉的、加载时间过长的脚本进行加载,从而减少非必要的数据的网络下载量,カロ快了用户在目标页面中点击被触发链接时的页面渲染速度,降低了预加载资源成本,而且缓存中特定的脚本保证了页面能够正常展现,在用户查看页面内容时再展现加载时间过长的脚本,保证了页面的显示效果,从而使本方案在页面的显示效果和预加载资源成本之间达到平衡,高效地加载了被触发链接对应页面的页面内容。附图说明图I是根据本申请实施例一的一种网页预加载方法的步骤流程图;图2是根据本申请实施例ニ的一种网页预加载方法的步骤流程图;图3是根据本申请实施例三的一种网页预加载方法的步骤流程图; 图4是图3所示实施例中网页脚本划分的示意图;图5是根据本申请实施例四的一种网页预加载方法的步骤流程图;图6是根据本申请实施例五的ー种网页预加载系统的结构框图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。实施例一參照图1,示出了根据本申请实施例一的一种网页预加载方法的步骤流程图。本实施例的网页预加载方法包括以下步骤步骤SlO :服务器获取网页的正常显示时间和网页中各脚本的加载时间。步骤S20 :服务器对网页的正常显示时间和网页中各脚本的加载时间进行分析,从网页对应的各脚本中确定特定的脚本。步骤S30 :客户端调用目标页面对应的特定的脚本预加载至缓存中。步骤S40 :客户端根据缓存中特定的脚本对目标页面中的被触发链接进行渲染,使被触发链接对应的页面内容正常显示。当目标页面中相应的链接被触发时,客户端从缓存中获取已预加载的特定脚本,使用该特定的脚本进行渲染,使得被触发链接对应的页面内容能够快速正常显示,高效地加载了被触发链接对应页面的页面内容。本实施例中,服务器端先收集获取全网全部或部分网页的正常显示时间和网页中各脚本的加载时间,进而进行分析确定各网页的特定的脚本;当客户端进行预加载时,调用目标页面对应的特定的本文档来自技高网...
【技术保护点】
一种网页预加载方法,其特征在于,包括:获取网页的正常显示时间和所述网页中各脚本的加载时间;对所述网页的正常显示时间和所述网页中各脚本的加载时间进行分析,从所述网页对应的各脚本中确定特定的脚本;调用目标页面对应的特定的脚本预加载至缓存中;根据所述缓存中特定的脚本对所述目标页面中的被触发链接进行渲染,使所述被触发链接对应的页面内容正常显示。
【技术特征摘要】
【专利技术属性】
技术研发人员:涂强,余浩,孙宁,
申请(专利权)人:北京搜狗信息服务有限公司,北京搜狗科技发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。