一种网页中进行预下载的方法和浏览器的制造方法
【专利摘要】本发明公开了一种网页中进行预下载的方法和浏览器。所述方法包括:加载当前网页并解析其中的超链接标签和其对应的预加载元素;在当前网页加载完毕后形成当前网页的预加载元素的预加载队列,所述预加载队列包括所述网页中预加载元素的链接标识;在所述预加载队列中,将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。本发明通过在超链接标签的属性信息中设置预加载标识,不但可以对<link>标签进行预加载,而且可以对超链接标签<a>,甚至其他任何设置了预加载标识的超链接标签进行预加载,因此,极大地扩展了网页中预加载的使用范围。
【专利说明】一种网页中进行预下载的方法和浏览器
【技术领域】
[0001]本发明涉及互联网【技术领域】,特别涉及一种网页中进行预下载的方法和浏览器。【背景技术】
[0002]目前,随着浏览器在用户工作和生活中的重要性日益增加,用户对浏览器加载网页的速度要求越来越高。在此背景下,在最新标准的超文本标记语言HTML (HypertextMarkup Language) 5中出现了链接预读取(Link Prefetching)功能。所谓链接预读取,即在用户点击该链接前浏览器预先读取链接所在网页到缓存中,当用户点击该链接时,浏览器从缓存中读取并加载网页。
[0003]HTML5链接预读取功能的工作原理是:在页面pagel中,对需要预先读取的链接所在标记中添加关键字 ’ prefetch’:<link rel=〃prefetch〃href=〃page2.html〃> ;当用户访问pagel时,浏览器会自动检测网页pagel中带关键字‘prefetch’标签的链接,然后依次读取该类链接所指向的网页page2,并将网页page2.html保存到缓存里;当用户在pagel页面中点击指向page2.html的链接时,浏览器直接从缓存里读取page2并显示在浏览器窗□。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]对于网页中多个带有关键字‘prefetch’的链接,浏览器会按照关键字‘prefetch’出现的顺序依次预加载。当用户点击网页中的一个包含关键字‘prefetch’的链接时,如果该链接位于网页的底部,则会出现用户虽然点击了该链接,但浏览器还没来得及预加载该链接的情况,因而无法达到预加载链接提高网页访问速度的预期效果。另外,由于在〈link〉标记中添加关键字‘prefetch’实现网页预加载目前还仅仅是HTML5网页所支持的功能,而对于大多数普通HTML网页则无法实现链接的预加载。
【发明内容】
[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]可选地,其特征在于,所述预加载元素包括超链接标签〈link〉或<a>和对应的预加载属性标识prefetch或prerender。
[0035]一方面,提供了一种浏览器,所述浏览器包括:[0036]加载解析模块,用于加载当前网页并解析其中的超链接标签和其对应的预加载元素;
[0037]预加载队列生成模块,用于在加载解析模块加载完当前网页后形成当前网页的预加载元素的预加载队列,所述预加载队列包括所述网页中预加载元素的链接标识;
[0038]预下载模块,用于在所述预加载队列生成模块形成的预加载队列中,将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。
[0039]可选地,所述预加载队列还包括所述预加载元素链接标识对应的权重值;
[0040]所述浏览器,还包括:
[0041]权重设置模块,用于根据预置的预加载配置表匹配所述预加载元素的超链接标签的文本段关键字,确定所述预加载元素在所述预加载队列中对应的链接标识的权重值;
[0042]队列排序模块,用于按所述链接标识的权重值对所述预加载队列排序;
[0043]所述预下载模块,还用于在所述排序后的预加载队列中,按优先级将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。
[0044]可选地,所述权重设置模块,具体还用于:
[0045]对所述预加载元素的超链接标签的文本段进行分词获得文本段关键字;
[0046]匹配所述文本段关键字和预置的预加载配置表确定每个文本段关键字的权重值;
[0047]将所述每个文本段关键字的权重值之和作为当前预加载元素在所述预加载队列中对应的链接标识的权重值。
[0048]可选地,所述预加载队列生成模块,具体用于:
[0049]判断当前网页中超链接标签的属性信息中是否携带有预加载属性标识,若携带,则所述携带有预加载属性标识的超链接标签为预加载元素,将所述预加载元素的链接标识放入预加载队列。
[0050]可选地,所述浏览器还包括:
[0051]预加载配置表预置模块,用于根据浏览器使用信息确定第一关键字,所述浏览器使用信息包括:收藏夹和/或历史浏览记录和/或搜索热词;根据所述第一关键字在预设时间内的使用频率确定所述第一关键字的权重值;生成预加载配置表,所述预加载配置表包括所述第一关键字和对应的权重值。
[0052]可选地,所述预加载配置表预置模块,还用于:
[0053]判断预加载配置表中的第一关键字是否超出预设时间仍未出现在浏览器的历史浏览记录中,若超出,则将所述第一关键字从所述预加载配置表中移除。
[0054]可选地,所述预加载配置表预置模块,还用于:
[0055]计算预加载配置表中的第一关键字在浏览器历史记录中出现的时间距离,按照所述时间距离设置所述第一关键字对应的权重值,所述时间距离包括:本周、本月、往月。
[0056]可选地,所述浏览器还包括:
[0057]权重第一更新模块,用于当接收到用户的超链接访问请求后,判断用户请求访问的超链接是否在所述预加载队列中,如果在,则提高所述请求访问的超链接的文本段关键字在预加载配置表中对应第一关键字的权重值。
[0058]可选地,所述浏览器还包括:[0059]权重第二更新模块,用于判断所述预加载队列中链接标识对应的网页是否被用户访问,若未曾访问,则降低所述链接标识对应的当前网页中超链接标签的文本段关键字在所述预加载配置表中对应第一关键字的权重值。
[0060]可选地,其特征在于,所述预加载元素包括超链接标签〈link〉或<a>和对应的预加载属性标识prefetch或prerender。
[0061]本发明实施例提供的技术方案带来的有益效果是:
[0062]本发明实施例通过在超链接标签的属性信息中设置预加载标识,不但可以对〈link〉标签进行预加载,而且可以对超链接标签<a>,甚至其他任何设置了预加载标识的超链接标签进行预加载,因此,极大地扩展了网页中预加载的使用范围。
【专利附图】
【附图说明】
[0063]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0064]图1是本发明实施例一提供的一种网页中进行预下载的方法流程图;
[0065]图2是本发明实施例二提供的一种网页中进行预下载的方法方法流程图;
[0066]图3是本发明实施例三提供的一种浏览器结构示意图。
【具体实施方式】
[0067]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0068]实施例一
[0069]本实施例提供了一种网页中进行预加载的方法,参见图1,本实施例提供的方法流程具体如下:
[0070]S101,加载当前网页并解析其中的超链接标签和其对应的预加载元素。
[0071]在当前网页加载过程中或加载完成后,解析当前网页中的超链接标签,并从网页中的超链接标签中识别出预加载元素,具体包括:
[0072]判断当前网页中超链接标签的属性信息中是否携带有预加载属性标识,若携带,则所述携带有预加载属性标识的超链接标签为预加载元素。
[0073]需要说明的是,所述预加载属性标识可由本领域技术人员在实施本发明时自行设定,本发明对此不作限定,例如,可使用prefetch或prerender作为预加载属性标识。当需要对网页中的某个超链接进行预加载时,可预先在该超链接标签对应的html代码的属性信息中加入所述预加载属性标识。
[0074]其中,用于设置为预加载元素的超链接标签可以是超链接标签<a>、〈link〉,也可以是其他任何需要进行预加载的标签,本发明对此不作具体限制。添加了预加载属性标识的超链接标签的html代码示例如下:
[0075] <a id=//IO^rel=//prefetch//href=//http: //abc.com/news/page2.html^)下一页
<a/>[0076]S102,在当前网页加载完毕后形成当前网页的预加载元素的预加载队列,所述预加载队列包括所述网页中预加载元素的链接标识。
[0077]将确定的预加载元素形成预加载队列,如表1所示:
【权利要求】
1.一种网页中进行预下载的方法,所述方法包括: 加载当前网页并解析其中的超链接标签和其对应的预加载元素; 在当前网页加载完毕后形成当前网页的预加载元素的预加载队列,所述预加载队列包括所述网页中预加载元素的链接标识; 在所述预加载队列中,将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。
2.如权利要求1所述的方法,其特征在于,所述预加载队列还包括所述预加载元素链接标识对应的权重值; 所述形成当前网页的预加载元素的预加载队列之后,还包括: 根据预置的预加载配置表匹配所述预加载元素的超链接标签的文本段关键字,确定所述预加载元素在所述预加载队列中对应的链接标识的权重值; 按所述链接标识的权重值对所述预加载队列排序; 所述在所述预加载队列中,将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中,具体包括: 在所述排序后的预加载队列中,按优先级将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。
3.如权利要求2所述的方法,其特征在于,所述根据预置的预加载配置表匹配所述预加载元素的超链接标签的文本段关键字,确定所述预加载元素在所述预加载队列中对应的链接标识的权重值,具体包括: 对所述预加载元素的超链接标签的文本段进行分词获得文本段关键字; 匹配所述文本段关键字和预置的预加载配置表确定每个文本段关键字的权重值;将所述每个文本段关键字的权重值之和作为当前预加载元素在所述预加载队列中对应的链接标识的权重值。
4.如权利要求1所述的方法,其特征在于,所述解析网页中的超链接标签和其对应的预加载元素,形成当前网页的预加载元素的预加载队列,具体包括: 判断当前网页中超链接标签的属性信息中是否携带有预加载属性标识,若携带,则所述携带有预加载属性标识的超链接标签为预加载元素,将所述预加载元素的链接标识放入预加载队列。
5.如权利要求1所述的方法,其特征在于,所述方法还包括: 预置预加载配置表, 所述预置预加载配置表,具体包括: 根据浏览器使用信息确定第一关键字,所述浏览器使用信息包括:收藏夹和/或历史浏览记录和/或搜索热词; 根据所述第一关键字在预设时间内的使用频率确定所述第一关键字的权重值; 生成预加载配置表,所述预加载配置表包括所述第一关键字和对应的权重值。
6.一种浏览器,包括: 加载解析模块,用于加载当前网页并解析其中的超链接标签和其对应的预加载元素;预加载队列生成模块,用于在加载解析模块加载完当前网页后形成当前网页的预加载元素的预加载队列,所述预加载队列包括所述网页中预加载元素的链接标识;预下载模块,用于在所述预加载队列生成模块形成的预加载队列中,将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。
7.如权利要求6所述的浏览器,其特征在于,所述预加载队列还包括所述预加载元素链接标识对应的权重值; 所述浏览器,还包括: 权重设置模块,用于根据预置的预加载配置表匹配所述预加载元素的超链接标签的文本段关键字,确定所述预加载元素在所述预加载队列中对应的链接标识的权重值; 队列排序模块,用于按所述链接标识的权重值对所述预加载队列排序; 所述预下载模块,还用于在所述排序后的预加载队列中,按优先级将预加载元素的链接标识对应的网页元素预先下载到浏览器侧的缓存路径中。
8.如权利要求7所述的浏览器,其特征在于,所述权重设置模块,具体还用于: 对所述预加载元素的超链接标签的文本段进行分词获得文本段关键字; 匹配所述文本段关键字和预置的预加载配置表确定每个文本段关键字的权重值;将所述每个文本段关键字的权重值之和作为当前预加载元素在所述预加载队列中对应的链接标识的权重值。
9.如权利要求6所述的浏览器,其特征在于,所述预加载队列生成模块,具体用于: 判断当前网页中超链接标签的属性信息中是否携带有预加载属性标识,若携带,则所 述携带有预加载属性标识的超链接标签为预加载元素,将所述预加载元素的链接标识放入预加载队列。
10.如权利要求6所述的浏览器,其特征在于,所述浏览器还包括: 预加载配置表预置模块,用于根据浏览器使用信息确定第一关键字,所述浏览器使用信息包括:收藏夹和/或历史浏览记录和/或搜索热词; 根据所述第一关键字在预设时间内的使用频率确定所述第一关键字的权重值; 生成预加载配置表,所述预加载配置表包括所述第一关键字和对应的权重值。
【文档编号】G06F17/30GK103617222SQ201310598493
【公开日】2014年3月5日 申请日期:2013年11月22日 优先权日:2013年11月22日
【发明者】刘庆平, 任寰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司