【问题标题】:clear everything from the cache/Dom in jquery mobile从 jquery mobile 中的缓存/Dom 中清除所有内容
【发布时间】:2012-07-28 08:16:55
【问题描述】:

您好,我正在使用 jquery mobile 开发应用程序。我的应用程序中有多个 html 页面,假设我从第 1 页导航到第 2 页到第 3 页.....在每次转换中,我都收到了来自服务器的响应。如果来自服务器的响应以 0 开头(例如 0$name^lastname^city$),那么我导航到下一页。但是假设响应从 -1 开始,那么我必须向用户显示登录页面。我可以检查响应,如果它以 -1 开头,那么我调用 $.mobile.changePage('UI/demo/login.html') 但现在我想删除 dom 中存在的所有页面,因为如果我不删除它们,那么在后按时它们会再次显示。如何清除dom。

任何建议将不胜感激。提前致谢。

【问题讨论】:

    标签: jquery jquery-ui jquery-mobile cordova


    【解决方案1】:

    由于您似乎想删除页面以注销/登录新用户,因此我会确定并改为使用full page refresh

    $.mobile.changePage('UI/demo/login.html', {reloadPage : true});
    

    或者如果是链接,把这个加到链接里

    data_ajax="false"
    

    【讨论】:

      【解决方案2】:

      如果您仍然需要从 DOM 中删除页面,您可以执行以下操作:

      $('div[data-role=page]:hidden').remove();
      

      【讨论】:

        【解决方案3】:

        that question试试这个

        $($.mobile.pageContainer).live('pageshow',function(event, ui){
            $(ui.prevPage).remove();
        });
        $.mobile.changePage('UI/demo/login.html')
        

        【讨论】:

        • 感谢您的回复,但我收到以下错误并且无法导航到 login.html:TypeError: 表达式'fromPage.data("page")' [undefined] 的结果不是对象。在文件:///android_asset/www/jquery.mobile-1.1.1/jquery.mobile-1.1.1.js:2840
        • 这发生在pageContainer.empty(); 之后?
        • 如果我删除 changePage 则会出现白屏并且不会显示错误,但是当我单击返回按钮时会出现此错误。
        • 试试.loadPage而不是changePage
        • $.mobile.loadPage('login.html');使用没有任何反应是行不通的。如果我删除 $.mobile.pageContainer.empty();然后页面也没有导航到 login.html。
        猜你喜欢
        • 1970-01-01
        • 2012-06-29
        • 1970-01-01
        • 2015-11-26
        • 1970-01-01
        • 2014-05-30
        • 2017-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多