文档中心 > JSSDK文档

页面激活状态

更新时间:2017/08/07 访问次数:6711
页面激活状态

获取当前webview是否在用户端展示

监听页面状态变化

var watchId = Tida.pageVisibility.watch(function(result){
     ///~ visible 1为激活 0为隐藏
     ///~ 移动端按Home键回到桌面js会挂起不执行,所有再次回到页面该方法会先后一起调用,注意区别该值
     if(result.visible ==1 ){
         // 页面显示了
     }else{
         // 页面隐藏了
     }
});

使用注意:

  • - 当有音乐、视频之类的,在监听到页面隐藏时需要停止
  • - 若有动画渲染相关的,在监听到页面隐藏时需要停止,尤其是使用了webgl的时候

取消监听页面状态变化

watchId为监听时返回的id

    
Tida.pageVisibility.clearWatch(watchId);

主动获取页面状态的方法:

if(Tida.appinfo.isTmall && /iPhone|iPod/gi.test(navigator.userAgent)){
    WindVane.call('Application', 'getAppState', {}, function (res) {
        // isActive 需要自行定义 应用使用webgl绘制时只能是isActive为true时才能调用 否则极有可能导致crash
        isActive = false;
        if (res && res.appState) {
            if (res.appState === 'Active' || res.appState.appState === 'Inactive') {
                isActive = true;
            }
        }
    }, function (res) {
        // 接口抛错了 这个时候为了程序正确执行 建议为true较好
        // isActive = false;
        isActive = true;
    });
}

//  
document.addEventListener('WV.Event.APP.Active', function(e) {
    isActive = true;
}, false);

document.addEventListener('WV.Event.APP.Background', function(e) {
    isActive = false;
}, false);

document.addEventListener('WV.Event.APP.Lock', function(e) {
    isActive = false;
}, false);   

FAQ

关于此文档暂时还没有FAQ
返回
顶部