JSAPI

Since 8.2

exitApp

exitApp用于退出当前栈顶app

使用方法

AlipayJSBridge.call('exitApp');

代码演示

退出当前的页面

<h1>点击退出当前页面</h1>
<a href="#" class="btn J_demo">执行</a>
<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('.J_demo').addEventListener('click', function() {
    AlipayJSBridge.call('exitApp');
  });
});
</script>

页面跳转完整实例

<h1>请点击下面按钮来进行页面间跳转</h1>
<h3></h3>
<a href="javascript:void(0)" class="btn new">新开当前页面</a>
<a href="javascript:void(0)" class="btn back">返回一级</a>
<a href="javascript:void(0)" class="btn popTo">通过popTo退2级</a>
<a href="javascript:void(0)" class="btn exit">关闭所有页面</a>

<script>
var query = getQuery();
var depth = (+query.depth) || 0;

document.querySelector('h3').innerHTML = '当前页面深度: ' + depth;

function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('.new').addEventListener('click', function() {
    AlipayJSBridge.call('pushWindow', {
      url: location.pathname + '?depth=' + (1+depth),
    });
  });

  document.querySelector('.back').addEventListener('click', function() {
    AlipayJSBridge.call('popWindow', {
      data: {
        method: 'popWindow',
        depth: depth,
      }
    });
  });

  document.querySelector('.popTo').addEventListener('click', function() {
    AlipayJSBridge.call('popTo', {
      index: -2,
      data: {
        method: 'popTo',
        depth: depth,
      }
    }, function(e) {
      if (e.error) {
        alert('发生错误: ' + JSON.stringify(e));
      }
    });
  });

  document.querySelector('.exit').addEventListener('click', function() {
    AlipayJSBridge.call('exitApp');
  });
});

document.addEventListener('resume', function(event) {
  alert('页面回退时带过来的内容: ' + JSON.stringify(event.data));
});
</script>

API

AlipayJSBridge.call('exitApp', {
  closeActionType, animated
}, fn);

入参

名称类型描述必选默认值版本
closeActionTypestring‘exitSelf’(退出自身应用)、’exitTop’(退出栈顶应用)N10.1.8
animatedbool是否开启动画Ntrue10.1.8

使用注意

  • 对于没有申请过appId的页面,都是以20000067这个appId运行,因此,任何页面内调用exitApp,所有页面都会关闭。