欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于window.open无法打开新窗口的解决方案

程序员文章站 2022-07-15 13:27:19
...

关于window.open无法打开新窗口的解决方案

问题描述

通常有时候我们会在函数判断中,在没有用户交互的情况下执行window.open打开新窗口,但是现在这样的执行方式会被浏览器拦截,因为没有用户交互,浏览器拦截用户无感知下的自动开启新窗口。

解决方案

如果想通过window.open打开新窗口,我们必须和用户进行交互,比如让用户点击按钮,在按钮的点击事件中再执行window.open,这样浏览器才不会拦截这一代码

this.$alert('是否弹屏显示客户列表', '弹屏提示', {
  confirmButtonText: '确定',
  cancelButtonText: '取消',
  showCancelButton: true,
  callback: (action) => {
   if (action === 'confirm') {
     window.open(href, '_blank');
   }
  },
});