popWindow 关闭当前页面

优质
小牛编辑
139浏览
2023-12-01

popWindow

popWindow用来关闭当前页面

使用方法

// 关闭当前打开的页面
AlipayJSBridge.call('popWindow');

代码演示

关闭当前页面

<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('a').addEventListener('click', function() {
    AlipayJSBridge.call('popWindow');
  });
});
</script>
查看演示 扫码查看 用支付宝扫码运行

关闭当前页面并且传递数据

<h1>点击"新开窗口",然后点击"回退窗口"查看效果</h1>
<a href="#" class="btn pop">回退窗口</a>
<a href="#" class="btn new">新开窗口</a>
<script>
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
    });
  });

  document.querySelector('.pop').addEventListener('click', function() {
    AlipayJSBridge.call('popWindow', {
      data: {
        from: location.href,
        info: Date.now()
      }
    });
  });

  document.addEventListener('resume', function(event) {
    alert('页面回退时带过来的内容: ' + JSON.stringify(event.data));
  });
});
</script>
查看演示 扫码查看 用支付宝扫码运行

API

AlipayJSBridge.call('popWindow', {
  data
})

入参

名称类型描述必选默认值版本
dataobject传递给当前app内即将露出页面的内容,无法跨appId传递数据N

使用注意

  • closeWebviewpopWindow的别名,使用方式是AlipayJSBridge.call('closeWebview')
  • popWindow时所带的data如何被接收? 请查看resume事件