帖子
帖子
用户
博客
课程
显示全部楼层
55
帖子
2
勋章
580
Y币

[superwebview] 先打开网页在加载数据 是不是慢啊

[复制链接]
发表于 2019-5-28 21:44:46
先打开网页在加载数据 是不是慢啊
先打开网页
再用ajax加载数据 感觉好慢
有没有快点的办法呢?


90
帖子
2
勋章
2237
Y币
这个已经很快的方式的,难道要像jsp那种先取得数据,再加载?
55
帖子
2
勋章
580
Y币
能不能把页面,或者数据缓存呢
20
帖子
0
勋章
6613
Y币
紫狐工作室 发表于 2019-5-28 22:04
能不能把页面,或者数据缓存呢

设置全局数据
https://docs.apicloud.com/Client-API/api#setGlobalData
设置偏好数据
https://docs.apicloud.com/Client-API/api#45
保存到localstorage
https://docs.apicloud.com/Front-end-Framework/framework-dev-guide#37

可以参考一下,希望有帮助。
9
帖子
0
勋章
5634
Y币
可以把一些东西懒加载啊,还有尽量的少一些link标签
9
帖子
0
勋章
5634
Y币
紫狐工作室 发表于 2019-5-28 22:04
能不能把页面,或者数据缓存呢

利用本地文件存储实现秒开和离线浏览
在api对象里面有两个方法readFile和writeFile,我们可以利用这两个来搞一下,而且还会对图片自动缓存的
通常我们的列表页数据是json的,我们可以对这个json数据循环下
function writeFile(json){
    var cacheDir = api.cacheDir;
    for(var i=0;i<json.length;i++) {
        var id = json.id;//你的内容id
        var data = json;//内存数据
        api.writeFile({
            path: cacheDir+'/'+id+'.json',
            data: JSON.stringify(data)
        }, function(ret, err){

        })
    }
}

注意要通过JSON.stringify转换下格式,否在在IOS上写入不成功
然后在打开内容页的时候先看下有没有对应id文件存在
function readFile(){
    var cacheDir = api.cacheDir;
    api.readFile({
        path: cacheDir+'/'+id+'.json'
    }, function(ret, err){
        if(ret.status){
            var jsonData = JSON.parse(ret.data);
        } else{
            //从服务器读取
        }
    });
}

还要注意,再次转换下数据格式
您需要登录后才可以回帖 登录

本版积分规则