首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery移动端-本地存储就绪后显示页面

jQuery移动端-本地存储就绪后显示页面
EN

Stack Overflow用户
提问于 2012-11-19 22:25:15
回答 1查看 403关注 0票数 0

我正在开发一个基于jqm和本地存储的移动应用程序

您可以在此处查看:

代码语言:javascript
复制
clients/app2u/Apps/6/home.html
clients/app2u/Apps/6/gallery.html
clients/app2u/Apps/6/categories.html

etc‘

本地存储包含每个页面的数据(例如:"app2u_app6_home")和常规选项卡数据("app2u_app6_Tabs")

问题是,在第一次访问页面时,页面在数据完全加载之前加载,并且只有当您刷新页面时,页面才会包含数据。

如何强制页面仅在本地存储就绪后显示?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-19 22:33:19

注意:我假设您在您的站点上引用的是functions.js中的getPageData函数。

您的问题是$.post调用是异步的(与对localStorage.getItem的调用不同),因此您的getPageData函数不能立即返回。

相反,您应该重构它以接受回调函数:

代码语言:javascript
复制
function getPageData(page,wait,extra_data,callback) {
    if (localStorage.getItem(unique_param+page)) {
        callback(localStorage.getItem(unique_param+page, extra_data));
    } else {
        if (typeof(extra_data) == 'undefined') {extra_data = '';}
        $.post(server_path + 'index.php?module=API&pname=' + page + '&pmode=empg&application_id=' + application_id + extra_data,
                function(response) {
                    localStorage.setItem(unique_param+page,JSON.stringify(response));
                    callback(response);
                }
        ,'json'
        );
    }
}

使用此方法,代码将始终等待对本地存储的调用或对服务器的调用完成

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13455789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档