Hybrid架构下,加载本地H5资源后,如何处理Ajax请求?
2017-05-09 13:41
351 查看
希望在app中打开H5页面能达到Native那样的速度,当然感觉不太可能,但两者速度越接近越好。
网上查了资料,有种方法是将网页资源嵌入到app中,打开时相当于加载本地资源。
参考:阿里巴巴(中国站)用户体验设计部博客
里面有段是这么描述的:
别忘了,我们是 Hybrid App,还可以充分利用 Native 层的强大能力,所以抛弃mainfest吧,让 Native 来帮助 Html5 应用缓存静态资源文件。总体思路是:
1、Html5 应用首次启动时,调用 Native 提供的加载资源文件专用的 Device API 来请求所需的资源文件,由 Native 层发出真正的资源请求,并将请求结果缓存在手机的SD卡上。当然,这里完全可以优化为一次 zip 包请求,因为 native 能够提供强大的解压能力。
2、H5 应用再次启动时,所有的静态资源都是通过 Device API 读取本地缓存,无需再走网络。
3、H5 应用出现静态资源更新时,在应用启动时首先通过 Device API 加载需要更新的文件,并更新本地缓存,其它未变更文件继续走缓存。
现在的问题:
1、加载的是本地的资源,那么本地页面上Ajax请求到后台取数据如何处理?
2、用jsonp能解决吗?优缺点?
3、也问过阿里的人员,他们的回答是采用了“虚拟域”的做法,app会将请求拦截做一些处理。但不是具体负责人,技术细节不是很清楚。有没有人知道类似这样的处理方法?
ps:技术不精,上面的描述如有问题,轻吐槽哈。
网上查了资料,有种方法是将网页资源嵌入到app中,打开时相当于加载本地资源。
参考:阿里巴巴(中国站)用户体验设计部博客
里面有段是这么描述的:
别忘了,我们是 Hybrid App,还可以充分利用 Native 层的强大能力,所以抛弃mainfest吧,让 Native 来帮助 Html5 应用缓存静态资源文件。总体思路是:
1、Html5 应用首次启动时,调用 Native 提供的加载资源文件专用的 Device API 来请求所需的资源文件,由 Native 层发出真正的资源请求,并将请求结果缓存在手机的SD卡上。当然,这里完全可以优化为一次 zip 包请求,因为 native 能够提供强大的解压能力。
2、H5 应用再次启动时,所有的静态资源都是通过 Device API 读取本地缓存,无需再走网络。
3、H5 应用出现静态资源更新时,在应用启动时首先通过 Device API 加载需要更新的文件,并更新本地缓存,其它未变更文件继续走缓存。
现在的问题:
1、加载的是本地的资源,那么本地页面上Ajax请求到后台取数据如何处理?
2、用jsonp能解决吗?优缺点?
3、也问过阿里的人员,他们的回答是采用了“虚拟域”的做法,app会将请求拦截做一些处理。但不是具体负责人,技术细节不是很清楚。有没有人知道类似这样的处理方法?
ps:技术不精,上面的描述如有问题,轻吐槽哈。
相关文章推荐
- 如何允许WebGL从本地载入资源(ajax的post请求返回error函数而不到success)
- Ajax(4):post请求之表单中含有中文时如何处理
- (实战)Spring Portlet MVC处理请求分析以及如何快速架构一个Portlet项目
- spring mvc后台如何处理ajax的请求,并返回json
- iOS WKWebView 远端h5优先加载本地资源
- flask session session已过期,再发送ajax请求如何处理?
- [IOS]UIWebView 请求网络页面或者加载本地资源页面
- LoadRunner如何处理AJAX异步请求
- Android ImageView如何加载网络和本地图片资源
- IOS的WebView请求远程html并加载本地资源
- iOS webView 远端h5优先加载本地资源
- [IOS]UIWebView 请求网络页面或者加载本地资源页面
- 网站未发布,ajax能请求的本地资源有哪些
- shiro安全框架扩展教程--如何扩展异步(ajax)请求认证失败处理
- AJAX 学习笔记[五] AJAX 如何处理多个异步请求
- ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
- Ajax发送同步请求给Spring,通过controller处理完成后如何返回响应
- 如何使用Holmos处理页面等待ajax加载
- JS中如何处理多个ajax并发请求?
- mysql处理中文要注意的、servlet生命周期、容器如何处理请求资源路径