网页保存、网页打开方法及装置和网页浏览系统制造方法及图纸

技术编号:9861572 阅读:83 留言:0更新日期:2014-04-02 19:59
本发明专利技术公开了一种网页保存和网页打开的方法及装置。在该网页保存方法中,在接收到保存网页的指令后,以MHTML格式保存网页的页面数据;并且在网页中包括AJAX请求时,将AJAX资源与AJAX请求相关联地保存在本地数据库中。并且在网页打开时,如果加载网页时产生AJAX请求,则在本地获取对应的AJAX资源。利用该方法,当打开网页时,即使处于断网状态,由于本地也保留着AJAX资源,由此可以在本地获取AJAX资源,从而解决了断网情况下,因为无法获取AJAX请求的AJAX资源而导致部分网页功能不能使用的问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种网页保存和网页打开的方法及装置。在该网页保存方法中,在接收到保存网页的指令后,以MHTML格式保存网页的页面数据;并且在网页中包括AJAX请求时,将AJAX资源与AJAX请求相关联地保存在本地数据库中。并且在网页打开时,如果加载网页时产生AJAX请求,则在本地获取对应的AJAX资源。利用该方法,当打开网页时,即使处于断网状态,由于本地也保留着AJAX资源,由此可以在本地获取AJAX资源,从而解决了断网情况下,因为无法获取AJAX请求的AJAX资源而导致部分网页功能不能使用的问题。【专利说明】网页保存、网页打开方法及装置和网页浏览系统
本专利技术涉及网页浏览领域,更为具体地,涉及一种网页保存和网页打开的方法及装置,以及一种网页浏览系统。
技术介绍
现在的网页保存形式基本上有两种。一种是HTML+子资源的形式,就是将当前的网页保存成一个HTML文档,其图片、样式表及脚本文件等都各自以一个单独的文件保存下来,而HTML文档里的资源的路径都要相应地修改为对应于保存到本地的文件的路径。另一种是MHTML的形式,就是将当前页面的网页数据打包保存到一个文件中,网页里面所有的数据都保存到同一个文件中,无需修改任何页面数据。HTML+子资源的形式属于一种静态保存,只能保存当前页面已经生成好的内容。如果某部分内容是通过JS (JavaScript)生成的话,打开保存的这个HTML文件的时候,这部分内容会重新生成,那么就会出现两份重复的内容。这种保存形式还有很多问题,例如,某些网站,如新浪微博、优酷等做了域名限制,不能通过这种形式将网页保存下来。另外,还有base (基础)标签的限制等等,导致保存下来的网页跟原来网页的出入非常大。MHTML形式遵循MHTML标准,将网页所有原始数据打包保存到一个文件当中,打开文件时,会重新执行生成页面的操作,这样就不会出现上述HTML+子资源的形式所存在的问题。因为,页面是重新执行生成,所以如果是在断网的情况下,而这个网页某部分内容是依赖于AJAX (异步JavaScript和XML)请求生成的话,那么页面也无法还原为原来页面的样子。而这个问题对于HTML+子资源的形式却不会存在。很明显,MHTML要比HTML+子资源的形式要优秀,但是也存在该形式无法解决的问题,那就是对于依赖AJAX请求的内容,在断网的情况下无法正确生成。本来这样的问题影响也不是很明显。但是随着业务的拓展,问题变得严重。例如,在iPad2.0上推出了稍后阅读+离线视频的结合。稍后阅读的实现正是使用MHTML形式的保存形式,可以比较完美的将所有网页保存下来。但是加上了离线视频就出问题了。很多网站的视频控件video (视频)标签是通过某个AJAX请求生成的。如果在断网情况下,那么这个视频控件无法生成,于是就无法播放已离线保存到本地的视频。因此,这个功能就因为这个问题而存在着最重大的缺陷,即网页保存下来了,视频也保存下来了,却不能离线播放。
技术实现思路
鉴于上述问题,提出了一种网页保存方法及装置,该网页保存方法及装置能够在需要保存的网页中包括AJAX请求的情况下,除了以MHTML格式保存所述网页的页面数据之外;还将将基于所述AJAX请求而获取的AJAX资源与AJAX请求相关联地保存在本地数据库中。本专利技术还提出了一种网页打开方法及装置,该网页打开方法及装置能够基于上述方式保存的网页数据及AJAX资源来在本地生成网页进行浏览。本专利技术还提出了一种网页浏览系统,该网页浏览系统能够实现对网页内容进行离线浏览。根据本专利技术的一个方面,提供了一种网页保存方法,包括:在接收到网页保存指令后,以MHTML格式保存所述网页的页面数据;以及在所述网页中包括AJAX请求的情况下,将基于所述AJAX请求而获取的AJAX资源与AJAX请求相关联地保存在本地数据库中。在上述方面的一个或多个示例中,将基于所述AJAX请求而获取的AJAX资源保存在本地数据库中可以包括:在所述网页中包括AJAX请求的情况下,在内存中创建用于保存基于所述AJAX请求而获取的AJAX资源的AJAX资源缓存;将所述AJAX资源与所述AJAX请求相关联地保存在所述AJAX资源缓存中;以及将所述AJAX资源缓存中保存的所述AJAX资源,以数据库的形式与所述AJAX请求相关联地保存到本地数据库中。在上述方面的一个或多个示例中,所述AJAX请求可以包括AJAX资源的URL地址,以及在将所述AJAX资源保存在所述AJAX资源缓存和本地数据库的步骤中,所述AJAX资源与所述URL地址相关联地保存。在上述方面的一个或多个示例中,所述将所述AJAX资源保存在所述AJAX资源缓存和本地数据库的步骤在网络适配层中执行。根据本专利技术的另一方面,提供了一种网页保存装置,包括:页面数据保存单元,用于在接收到网页保存指令后,以MHTML格式保存所述网页的页面数据;以及AJAX资源保存单元,用于在所述网页中包含AJAX请求的情况下,将基于所述AJAX请求而获取的AJAX资源与AJAX请求相关联地保存在本地数据库中。在上述方面的一个或多个示例中,所述网页保存装置还可以包括:AJAX资源缓存创建单元,用于在所述网页中包括AJAX请求的情况下,在内存中创建用于保存基于所述AJAX请求而获取的AJAX资源的AJAX资源缓存;AJAX资源缓存保存单元,用于将所述AJAX资源与所述AJAX请求相关联地保存在所述AJAX资源缓存中,以及所述AJAX资源保存单元被配置为将所述AJAX资源缓存中保存的所述AJAX资源,以数据库的形式与所述AJAX请求相关联地保存到本地数据库中。根据本专利技术的另一方面,提供了一种网页打开方法,包括:在接收到浏览如上所述保存的网页的网页浏览指令后,基于以所述MHTML格式保存的页面数据进行网页加载;当在加载所述网页时产生AJAX请求时,从本地读取与所述AJAX请求对应的AJAX资源;以及基于所加载的页面数据和所读取的AJAX资源,生成所述网页页面。在上述方面的一个或多个示例中,所述从本地中读取与所述AJAX请求对应的AJAX资源可以包括:基于所述AJAX请求,从本地数据库中读取与所述AJAX请求对应的AJAX资源。在上述方面的一个或多个示例中,所述从本地中读取与所述AJAX请求对应的AJAX资源可以包括:在本地存在所述AJAX资源缓存的情况下,基于所述AJAX请求,从所述AJAX资源缓存中读取与所述AJAX请求对应的AJAX资源。 在上述方面的一个或多个示例中,所述AJAX请求可以包括AJAX资源的URL地址,以及所述AJAX资源与所述URL地址相关联地保存在所述本地数据库中,以及所述从本地中读取与所述AJAX请求对应的AJAX资源可以包括:获取本地数据库或AJAX资源缓存中保存的AJAX资源的所有URL地址的URL列表;根据所述AJAX请求中的URL地址,对所述URL列表进行完全匹配查找;在所述URL列表中查找到完全匹配的URL地址时,从所述本地数据库或AJAX资源缓存中读取与所找到的URL对应的AJAX资源;在所述URL列表中未找到完全匹配的URL地址时,使用所述AJAX请求中的URL的正则表达式进行模糊匹配查找;以及在查找到唯一一条匹配结果时,从所述本本文档来自技高网
...
网页保存、网页打开方法及装置和网页浏览系统

【技术保护点】
一种网页保存方法,包括:在接收到网页保存指令后,以MHTML格式保存所述网页的页面数据;在所述网页中包括AJAX请求的情况下,将基于所述AJAX请求而获取的AJAX资源与AJAX请求相关联地保存在本地数据库中。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵鸿彬
申请(专利权)人:优视科技有限公司
类型:发明
国别省市:北京;11

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

1