JSAPI

  • 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事件