mui---要打开的页面loaded不自动显示,等服务器返回数据后,再做处理逻辑

loaded_no_auto_show_home.html(主页)

<!doctype html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <link href="css/mui.min.css" rel="stylesheet" />
    </head>

    <body>
        <button type="button" id="btn_open" class="mui-btn mui-btn-green">打开子页</button>
        <script src="js/mui.min.js"></script>
        <script type="text/javascript">
            mui.init();
            /*从A页面打开B页面,B页面为一个需要从服务端加载的列表页面,
             若在B页面loaded事件发生时就将其显示出来,
             因服务器数据尚未加载完毕,列表页面为空,用户体验不好;
             可通过如下方式改善用户体验(最好的用户体验应该是通过预加载的方式):
             第一步,B页面loaded事件发生后,不自动显示;* 
             */
            document.getElementById("btn_open").addEventListener('tap', function() {
                //A页面中打开B页面,设置show的autoShow为false,则B页面在其loaded事件发生后,不会自动显示;
                mui.openWindow({
                    url: 'loaded_no_auto_show_sub.html',
                    id: 'loaded_no_auto_show_sub',
                    show: {
                        autoShow: false
                    }
                });
            })
        </script>
    </body>

</html>

 

loaded_no_auto_show_sub.html(新页)

<!doctype html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <link href="css/mui.min.css" rel="stylesheet" />
    </head>

    <body>
        <div id="div1">我是div1</div>
        <script src="js/mui.min.js"></script>
        <script type="text/javascript">
            mui.init();
            //第二步,在B页面获取列表数据后,再关闭等待框、显示B页面
            //B页面onload从服务器获取列表数据;
            window.onload = function() {
                var url = 'http://zyz1.top/handler/GetCurrentUser.ashx';
                //从服务器获取数据
                //业务数据获取完毕,并已插入当前页面DOM;
                //注意:若为ajax请求,则需将如下代码放在处理完ajax响应数据之后;
                mui.get(url, {
                    "cid": '1'
                }, function(data) {
                    mui.plusReady(function() {
                        document.getElementById("div1").innerText = '你好,' + data.rname;
                        plus.nativeUI.closeWaiting(); //关闭等待框
                        mui.currentWebview.show(); //显示当前页面
                    });
                });
            }
        </script>
    </body>

</html>

 

posted @ 2018-05-31 11:13  框框A  阅读(1265)  评论(0编辑  收藏  举报