问题描述
通常有时候我们会在函数判断中,在没有用户交互的情况下执行window.open打开新窗口,但是现在这样的执行方式会被浏览器拦截,因为没有用户交互,浏览器拦截用户无感知下的自动开启新窗口。
解决方案
如果想通过window.open打开新窗口,我们必须和用户进行交互,比如让用户点击按钮,在按钮的点击事件中再执行window.open,这样浏览器才不会拦截这一代码
this.$alert('是否弹屏显示客户列表', '弹屏提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
showCancelButton: true,
callback: (action) => {
if (action === 'confirm') {
window.open(href, '_blank');
}
},
});