此接口用来关闭当前页面。
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
})
入参
名称 | 类型 | 描述 | 必选 | 默认值 |
---|---|---|---|---|
data | object | 传递给当前 App 内即将露出页面的内容,无法跨 appId 传递数据。 | N | – |
注意事项
- 关于
popWindow
时所带的 data 如何被接收,请查看 页面恢复运行(resume 事件)。