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

文档序号:8258649阅读:262来源:国知局
基于UIWebView组件的网页加载方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别是涉及一种基于UIWebView组件的网页加载方法及装置。
【背景技术】
[0002]现有的1S系统中,UIWebView组件通常可用于根据链接加载网页并以相应的视图进行展示,相当于浏览器的功能。然而,发明人经研究发现,传统技术中的UIWebView组件加载网页时至少存在如下问题:
[0003]传统技术中的UIWebView组件在加载与输入的链接对应的网页时,不管本地是否有缓存,均根据链接访问互联网下载相应的网页资源,从而导致加载速度较慢。

【发明内容】

[0004]基于此,有必要提供一种能提闻网页加载速度的基于UIWebView组件的网页加载方法。
[0005]一种基于UIWebView组件的网页加载方法,包括:
[0006]获取HWebView组件的跳转指令,提取所述跳转指令对应的网页地址;
[0007]根据所述网页地址通过所述HWebView组件生成的网页访问请求;
[0008]截获所述网页访问请求,在缓存中查找与所述网页访问请求对应的网页资源并生成相应的响应对象;
[0009]将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。
[0010]此外,还有必要提供一种能提高网页加载速度的基于UIWebView组件的网页加载
>J-U ρ?α装直。
[0011]一种基于UIWebView组件的网页加载装置,包括:
[0012]指令获取模块,用于获取nWebView组件的跳转指令,提取所述跳转指令对应的网页地址;
[0013]请求生成模块,用于根据所述网页地址通过所述nWebView组件生成的网页访问请求;
[0014]响应对象生成模块,用于截获所述网页访问请求,在缓存中查找与所述网页访问请求对应的网页资源并生成相应的响应对象;
[0015]网页资源加载模块,用于将所述响应对象返回给所述UIWebView组件,通过所述UIWebView组件解析所述响应对象得到所述网页资源并将其加载。
[0016]上述基于UIWebView组件的网页加载方法和装置,截获UIWebView组件根据生成的网页访问请求后,并没有直接将其发送给服务器,而是先在缓存中查找与该请求对应的网页资源,从而合理地利用了缓存中已经存储的数据,节省了下载网页资源的时间,从而提高了网页加载速度,同时也节省了流量。
【附图说明】
[0017]图1为一个实施例中基于UIWebView组件的网页加载方法的流程示意图;
[0018]图2为一个实施例中基于UIWebView组件的网页加载方法的应用场景图;
[0019]图3为一个实施例中基于UIWebView组件的网页加载方法的应用场景图;
[0020]图4为一个实施例中基于UIWebView组件的网页加载装置的结构示意图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0022]如图1所示,在一个实施例中,提供了一种基于UIWebView组件的网页加载方法,该方法完全依赖于计算机程序,可运行于基于1S操作系统的计算机系统上。
[0023]该方法包括如下步骤:
[0024]步骤S102,获取UIWebView组件的跳转指令,提取跳转指令对应的网页地址。
[0025]UIffebView组件为1S操作系统的一个内置浏览器控件,可用来解析html规范定义的网页资源,从而实现加载显示网页、文档等常见的浏览器功能。
[0026]跳转指令为UIWebView组件进行页面切换的指令。当用户可通过在地址栏输入字符串或点击页面上的链接向UIWebView组件输入网页地址(即为url,Universal ResourceLocator,统一资源定位符),UIffebView组件检测到有网页地址输入且发生变更时,则会生成跳转指令。用户也可通过点击UIWebView组件上的前进或后退按钮来生成跳转指令,跳转指令对应的网页地址即为前次或后次浏览的页面的url。
[0027]步骤S104,根据网页地址通过UIWebView组件生成的网页访问请求。
[0028]在本实施例中,可通过生成httprequest对象,并将跳转指令对应的网页地址作为目标地址赋值给该httprequest对象来生成网页访问请求。生成该网页访问请求后可将其发送至网络地址对应的服务器。
[0029]步骤S106,截获网页访问请求,在缓存中查找与网页访问请求对应的网页资源并生成相应的响应对象。
[0030]在本实施例中,可在UIWebView组件中的请求发送函数中加入代码,对该网页访问请求进行拦截。UIWebView组件的缓存通常将网页地址和缓存的网页资源对应存储,可在缓存中根据网页访问请求中的目标地址在缓存中进行查找,若找到,则生成httpresponse对象,并查找到的网页资源赋值给该httpresponse对象。
[0031]在本实施例中,若未查找到网页访问请求对应的网页资源,则发起网页访问请求,并接收返回的网页资源生成相应的响应对象。
[0032]也就是说,在UIWebView组件中的请求发送函数被调用之前,先查找网页访问请求对应的网页资源,若找到,则根据查找到的网页资源生成响应对象;若未找到,则调用请求发送函数将网页访问请求发送给其目标地址对应的服务器,根据服务器返回的数据生成响应对象。
[0033]步骤S108,将响应对象返回给HWebView组件,通过HWebView组件解析响应对象得到网页资源并将其加载。
[0034]在本实施例中,该响应对象可以是根据在缓存中查找到的网页资源生成的,也可以是在缓存中为查找到时,有服务器下载的数据生成响应对象。也就是说,UIWebView组件并不关心该响应对象中包含的网页资源的来历,直接调用html解析函数解析响应对象中的网页资源,从而将其加载。
[0035]在一个实施例中,通过UIWebView组件生成网页访问请求的步骤还包括:获取跳转指令对应的操作事件,判断操作事件是否为前进事件或后退事件,若是,则在网页访问请求中加入与操作事件对应的标识符。
[0036]跳转指令对应的操作事件即在生成跳转指令时,用户触发的操作事件。如前所述,若用户通过点击UIWebView组件中展示的页面中的链接输入跳转指令,则操作事件为链接点击事件。若用户通过在地址栏输入网页地址来输入跳转指令,则操作事件为地址栏更改事件。若用户通过点击UIWebView组件中的前进或后退按钮输入跳转指令,则相应的操作事件为前进事件或后退事件。
[0037]优选的,在网页访问请求中加入与操作事件对应的标识符的步骤包括:在网页访问请求的请求头或网页请求的网页地址中加入操作标识。
[0038]例如,可在网页访问请求的header属性项的accept属性值(也可以是其他属性值)中添加forward或back作为前进事件或后退事件的标识符。也可在网页访问请求的url,例如http://www.aaa.com后加入#forward或#back作为前进事件或后退事件的标识符(前进事件添加后即为http://www.aaa.com#forward)。
[0039]在本实施例中,截获网页访问请求的步骤之后还包括:判断网页访问请求是否对应前进事件或后退事件,若是,则在缓存中查找与网页访问请求对应的网页资源。
[0040]也就是说,仅对前进事件或后退事件生成的网页访问请求执行在缓存中查找的步骤。由于前进事件或后退事件对应的页面,其包含的图片、视频或音频等资源文件必然已被缓存(在缓存未耗尽时),而在不考虑资源文件的情况下页面仅包含文本,因此1S系统通常会在用户点击前进或后退按钮时,重新下载该页面,当页面包含的文本信息量较大时,仍然会浪费较多时间。而采用上述方案,则可针对上述缺陷,在用户点击前进或后退按钮时,仍现在缓存中查找相应的网页资源,从而节约了加载时间,同时也节省了流量。
[0041 ] 在一个实施例中,在缓存中未查找到网页访问请求对应的网页资源时,还可获取接收返回的网页资源的数据大小和/或下载速度,并通过UIWebView组件展示数据大小和/或下载速度。
[0042]例如,如图2所示,在下载网页资源的时候,可获取该网页资源的数据大小和/或下载速度,通过nWebView组件展示数据大小和/或下载速度。
[0043]在一个实施例中,还可获取
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1