SEARCH

HTML5页面的跨 webview 预拉取数据尝试

发布日期:2018年01月16日,网站分类:网站新闻

对于传统的页面模型来说,数据的拉取+渲染模型如下:


HTML5页面的跨 webview 预拉取数据尝试


在页面的head部分,使用jsonp预拉取cgi资源,然后在资源加载完成之后,检查预拉取的数据是否已经返回,如果已返回,则直接用该数据渲染(避免了先用缓存数据渲染再用cgi数据渲染导致的二次刷新),否则才用缓存数据渲染。


HTML5页面的跨 webview 预拉取数据尝试


对于上面的优化方式,我们可以用于独立页面的首屏数据渲染中,但是对于由手Q中一个webview内打开的新webview里的H5页面,是否有更好的方法呢?


当我们通过点击操作,在webview内调用手Q的openUrl接口打开新的webview并加载页面,新页面对于我们来说是可被预知的,也就是说我们点击打开新webview的时候,其实是知道要打开的页面是什么。


因此对于cgi预拉取的逻辑,我们其实可以提前到前一个webview点击的操作时就发起。


统计了一下手Q创建webview到开始请求页面url之间的耗时,android端耗时大约在1.5-2秒之间。



因此其实我们可以利用这段时间,在点击前一个webview的同时,让新页面的首屏cgi请求提前发起,在等待下一个webview打开并load页面的期间,如果cgi请求已经返回,数据可以暂存在前一个webview中,等新webview页面资源ready之后,通过手Q的webview通信接口mqq.addEventListener/mqq.dispatchEvent从上一个webview获取数据并渲染。


由于客户端接口通信速度比网络通信要快,因此可借此减少首屏数据渲染的等待时间,另外也同时可以改善二次渲染的问题:


HTML5页面的跨 webview 预拉取数据尝试



关键词:网站设计

转载请注明来自:https://rongkeji.cn/news/47.html


上一篇:企业SEO站内优化到底应该注意那些细节问题?

下一篇:iPhone X 适配方案及html5调试技巧

地区分布

  • Da Tong
  • He Fei

大同融网信息科技有限公司

地址:大同格兰云天E座4楼411

提供了定制化的行业网站建设解决方案

合肥融建站网络文化工作室

地址:合肥市包河区绿地中心F座

融建站技术服务,助您打造高端形象

公众号

微信公众号