帖子
帖子
用户
博客
课程
显示全部楼层
9
帖子
0
勋章
131
Y币

[App引擎] api.hideProgress关闭失效 求分析 求解答

[复制链接]
发表于 2015-8-11 16:51:00
我要做的是:从页面A进入页面B(方式为onclick="openlink('name');" ),再进入页面A(注意不是返回,同样经过onclick)。

理想效果:每次onclick跳转的过程,首先显示“加载中”等待框,然后跳转页面,最后关闭等待框和上一个页面。

现在的效果:新页面都能很好的打开,一旦重复进入A或者B,页面上就会出现等待框并且一直不消失。

求大家帮忙分析和解答~ 谢谢~

apiready = function() {
    api.hideProgress();
        
    api.closeWin({
        name: api.pageParam.name
    });
};


function openlink(x){

    api.showProgress({
        modal: false
    });
   
    api.openWin({
        name: x,
        url: x + '.html',
        delay: 200,
        animation: {
            type:'none'
        },
        pageParam: {
            name: 'information'
        }
    });
}




5
帖子
0
勋章
1万+
Y币
apiready函数只在页面第一次打开时执行一次,之后再次打开都无法执行,除打开前先调用clsoeWin,把已打开的页面关闭后再打开,就又能执行了
9
帖子
0
勋章
131
Y币
技术支持-M 发表于 2015-8-11 16:58
apiready函数只在页面第一次打开时执行一次,之后再次打开都无法执行,除打开前先调用clsoeWin,把已打开的 ...

可是我的代码是 每打开一个新窗口时 执行apiready关闭上一个窗口 也就是说 我每次打开都是新的 都执行apiready函数啊
5
帖子
0
勋章
1万+
Y币
可可Crystal 发表于 2015-8-11 17:14
可是我的代码是 每打开一个新窗口时 执行apiready关闭上一个窗口 也就是说 我每次打开都是新的 都执行api ...

你打印看下,确认是否执行到这个方法
9
帖子
0
勋章
131
Y币
技术支持-M 发表于 2015-8-11 18:22
你打印看下,确认是否执行到这个方法

确实 第二次进入的时候没有执行到apiready
那说明closeWin没执行?
5
帖子
0
勋章
1万+
Y币
对的,可以在打开页面前先关闭一下,这样就会保证执行apiready
您需要登录后才可以回帖 登录

本版积分规则