a标签或者window.open打开一个超链接确认框如何监听取消,或者try ,catch?

问题描述

clipboard.png

 <a :href="'telecontrol:'+ itemIp" class="open-terminal">
或者
  let obj
      try {
        obj = window.open('telecontrol:192.168.1.54', '_parent')
        obj.addEventListener('onclose', (e) => {
          console.log('能监听关闭的')
        })
        obj.addEventListener('oncancel', (e) => {
          console.log('能监听关闭的')
        })
      } catch (error) {
        this.$message.error(error)
      }
      console.log(obj, 'obj')

问题出现的环境背景及自己尝试过哪些方法

上面我通过监听事件好像没用,不知道是我事件没用用对还是方法没用用对

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

期待结果能捕获到用户点击到打开超链接失败,即使用户点了取消

阅读 3.2k
2 个回答

可以尝试下先使用定时器来监听试试

var loop = setInterval(function() {   
    if(winObj.closed) {  
        clearInterval(loop);  
        alert('closed');  
    }  
}, 1000); 

新打开的页面算是 前 一个页面的子页面,可以调用父页面的方法传递打开提示.
然后设置等待时间,超时就是没打开.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题