基于UIWebView组件的网页加载方法及装置制造方法及图纸

技术编号:11390906 阅读:126 留言:0更新日期:2015-05-02 02:58
本发明专利技术提供了一种基于UIWebView组件的网页加载方法,所述方法包括:获取UIWebView组件的跳转指令,提取所述跳转指令对应的网页地址;根据所述网页地址通过所述UIWebView组件生成网页访问请求;截获所述网页访问请求,在缓存中查找与所述网页访问请求对应的网页资源并生成相应的响应对象;将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。此外,还提供了一种基于UIWebView组件的网页加载的装置。采用该方法能有效地提高网页加载速度,同时节省了流量。

【技术实现步骤摘要】
基于UIWebView组件的网页加载方法及装置
本专利技术涉及互联网
,特别是涉及一种基于UIWebView组件的网页加载方法及装置。
技术介绍
现有的IOS系统中,UIWebView组件通常可用于根据链接加载网页并以相应的视图进行展示,相当于浏览器的功能。然而,专利技术人经研究发现,传统技术中的UIWebView组件加载网页时至少存在如下问题:传统技术中的UIWebView组件在加载与输入的链接对应的网页时,不管本地是否有缓存,均根据链接访问互联网下载相应的网页资源,从而导致加载速度较慢。
技术实现思路
基于此,有必要提供一种能提高网页加载速度的基于UIWebView组件的网页加载方法。一种基于UIWebView组件的网页加载方法,包括:获取UIWebView组件的跳转指令,提取所述跳转指令对应的网页地址;根据所述网页地址通过所述UIWebView组件生成的网页访问请求;截获所述网页访问请求,在缓存中查找与所述网页访问请求对应的网页资源并生成相应的响应对象;将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。此外,还有必要提供一种能提高网页加载速度的基于UIWebView组件的网页加载装置。一种基于UIWebView组件的网页加载装置,包括:指令获取模块,用于获取UIWebView组件的跳转指令,提取所述跳转指令对应的网页地址;请求生成模块,用于根据所述网页地址通过所述UIWebView组件生成的网页访问请求;响应对象生成模块,用于截获所述网页访问请求,在缓存中查找与所述网页访问请求对应的网页资源并生成相应的响应对象;网页资源加载模块,用于将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。上述基于UIWebView组件的网页加载方法和装置,截获UIWebView组件根据生成的网页访问请求后,并没有直接将其发送给服务器,而是先在缓存中查找与该请求对应的网页资源,从而合理地利用了缓存中已经存储的数据,节省了下载网页资源的时间,从而提高了网页加载速度,同时也节省了流量。附图说明图1为一个实施例中基于UIWebView组件的网页加载方法的流程示意图;图2为一个实施例中基于UIWebView组件的网页加载方法的应用场景图;图3为一个实施例中基于UIWebView组件的网页加载方法的应用场景图;图4为一个实施例中基于UIWebView组件的网页加载装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,在一个实施例中,提供了一种基于UIWebView组件的网页加载方法,该方法完全依赖于计算机程序,可运行于基于IOS操作系统的计算机系统上。该方法包括如下步骤:步骤S102,获取UIWebView组件的跳转指令,提取跳转指令对应的网页地址。UIWebView组件为IOS操作系统的一个内置浏览器控件,可用来解析html规范定义的网页资源,从而实现加载显示网页、文档等常见的浏览器功能。跳转指令为UIWebView组件进行页面切换的指令。当用户可通过在地址栏输入字符串或点击页面上的链接向UIWebView组件输入网页地址(即为url,UniversalResourceLocator,统一资源定位符),UIWebView组件检测到有网页地址输入且发生变更时,则会生成跳转指令。用户也可通过点击UIWebView组件上的前进或后退按钮来生成跳转指令,跳转指令对应的网页地址即为前次或后次浏览的页面的url。步骤S104,根据网页地址通过UIWebView组件生成的网页访问请求。在本实施例中,可通过生成httprequest对象,并将跳转指令对应的网页地址作为目标地址赋值给该httprequest对象来生成网页访问请求。生成该网页访问请求后可将其发送至网络地址对应的服务器。步骤S106,截获网页访问请求,在缓存中查找与网页访问请求对应的网页资源并生成相应的响应对象。在本实施例中,可在UIWebView组件中的请求发送函数中加入代码,对该网页访问请求进行拦截。UIWebView组件的缓存通常将网页地址和缓存的网页资源对应存储,可在缓存中根据网页访问请求中的目标地址在缓存中进行查找,若找到,则生成httpresponse对象,并查找到的网页资源赋值给该httpresponse对象。在本实施例中,若未查找到网页访问请求对应的网页资源,则发起网页访问请求,并接收返回的网页资源生成相应的响应对象。也就是说,在UIWebView组件中的请求发送函数被调用之前,先查找网页访问请求对应的网页资源,若找到,则根据查找到的网页资源生成响应对象;若未找到,则调用请求发送函数将网页访问请求发送给其目标地址对应的服务器,根据服务器返回的数据生成响应对象。步骤S108,将响应对象返回给UIWebView组件,通过UIWebView组件解析响应对象得到网页资源并将其加载。在本实施例中,该响应对象可以是根据在缓存中查找到的网页资源生成的,也可以是在缓存中为查找到时,有服务器下载的数据生成响应对象。也就是说,UIWebView组件并不关心该响应对象中包含的网页资源的来历,直接调用html解析函数解析响应对象中的网页资源,从而将其加载。在一个实施例中,通过UIWebView组件生成网页访问请求的步骤还包括:获取跳转指令对应的操作事件,判断操作事件是否为前进事件或后退事件,若是,则在网页访问请求中加入与操作事件对应的标识符。跳转指令对应的操作事件即在生成跳转指令时,用户触发的操作事件。如前所述,若用户通过点击UIWebView组件中展示的页面中的链接输入跳转指令,则操作事件为链接点击事件。若用户通过在地址栏输入网页地址来输入跳转指令,则操作事件为地址栏更改事件。若用户通过点击UIWebView组件中的前进或后退按钮输入跳转指令,则相应的操作事件为前进事件或后退事件。优选的,在网页访问请求中加入与操作事件对应的标识符的步骤包括:在网页访问请求的请求头或网页请求的网页地址中加入操作标识。例如,可在网页访问请求的header属性项的accept属性值(也可以是其他属性值)中添加forward或back作为前进事件或后退事件的标识符。也可在网页访问请求的url,例如http://www.aaa.com后加入#forward或#back作为前进事件或后退事件的标识符(前进事件添加后即为http://www.aaa.com#forward)。在本实施例中,截获网页访问请求的步骤之后还包括:判断网页访问请求是否对应前进事件或后退事件,若是,则在缓存中查找与网页访问请求对应的网页资源。也就是说,仅对前进事件或后退事件生成的网页访问请求执行在缓存中查找的步骤。由于前进事件或后退事件对应的页面,其包含的图片、视频或音频等资源文件必然已被缓存(在缓存未耗尽时),而在不考虑资源文件的情况下页面仅包含文本,因此IOS系统通常会在用户点击前进或后退按钮时,重新下载该页面,当页面包含的文本信息量较本文档来自技高网...

【技术保护点】
一种基于UIWebView组件的网页加载方法,包括:获取UIWebView组件的跳转指令,提取所述跳转指令对应的网页地址;根据所述网页地址通过所述UIWebView组件生成网页访问请求;截获所述网页访问请求,在缓存中查找与所述网页访问请求对应的网页资源并生成相应的响应对象;将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。

【技术特征摘要】
1.一种基于UIWebView组件的网页加载方法,运行于基于IOS操作系统的计算机系统上,包括:获取UIWebView组件的跳转指令,提取所述跳转指令对应的网页地址;根据所述网页地址通过所述UIWebView组件生成网页访问请求;截获所述网页访问请求,在UIWebView组件中的请求发送函数中加入代码,对所述网页访问请求进行拦截,在UIWebView组件中的请求发送函数被调用之前,在缓存中查找与所述网页访问请求对应的网页资源,若找到,则并根据查找到的网页资源生成相应的响应对象;若未找到,则调用所述请求发送函数将网页访问请求发送给目标地址对应的服务器,根据服务器返回的数据生成响应对象;将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。2.根据权利要求1所述的基于UIWebView组件的网页加载方法,其特征在于,所述通过所述UIWebView组件生成网页访问请求的步骤还包括:获取所述跳转指令对应的操作事件,判断所述操作事件是否为前进事件或后退事件,若是,则在所述网页访问请求中加入与操作事件对应的标识符。3.根据权利要求2所述的基于UIWebView组件的网页加载方法,其特征在于,所述截获所述网页访问请求的步骤之后还包括:判断所述网页访问请求是否对应前进事件或后退事件,若是,则在缓存中查找与所述网页访问请求对应的网页资源。4.根据权利要求2所述的基于UIWebView组件的网页加载方法,其特征在于,所述在所述网页访问请求中加入与操作事件对应的标识符的步骤包括:在所述网页访问请求的请求头或所述网页访问请求的网页地址中加入操作标识。5.根据权利要求4所述的基于UIWebView组件的网页加载方法,其特征在于,所述方法还包括:获取接收返回的网页资源的数据大小和/或下载速度,并通过所述UIWebView组件展示所述数据大小和/或下载速度。6.根据权利要求1至4任一项所述的基于UIWebView组件的网页加载方法,其特征在于,所述方法还包括:获取所述缓存的剩余容量,通过所述UIWebView组件展示所述剩余容量。7.一种基于U...

【专利技术属性】
技术研发人员:许峰峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1