鍍金池/ 問(wèn)答/HTML/ a標(biāo)簽或者window.open打開一個(gè)超鏈接確認(rèn)框如何監(jiān)聽(tīng)取消,或者try ,

a標(biāo)簽或者window.open打開一個(gè)超鏈接確認(rèn)框如何監(jiān)聽(tīng)取消,或者try ,catch?

問(wèn)題描述

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('能監(jiān)聽(tīng)關(guān)閉的')
        })
        obj.addEventListener('oncancel', (e) => {
          console.log('能監(jiān)聽(tīng)關(guān)閉的')
        })
      } catch (error) {
        this.$message.error(error)
      }
      console.log(obj, 'obj')

問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法

上面我通過(guò)監(jiān)聽(tīng)事件好像沒(méi)用,不知道是我事件沒(méi)用用對(duì)還是方法沒(méi)用用對(duì)

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

期待結(jié)果能捕獲到用戶點(diǎn)擊到打開超鏈接失敗,即使用戶點(diǎn)了取消

回答
編輯回答
有點(diǎn)壞

可以嘗試下先使用定時(shí)器來(lái)監(jiān)聽(tīng)試試

var loop = setInterval(function() {   
    if(winObj.closed) {  
        clearInterval(loop);  
        alert('closed');  
    }  
}, 1000); 
2017年7月20日 17:40
編輯回答
夏木

新打開的頁(yè)面算是 前 一個(gè)頁(yè)面的子頁(yè)面,可以調(diào)用父頁(yè)面的方法傳遞打開提示.
然后設(shè)置等待時(shí)間,超時(shí)就是沒(méi)打開.

2018年2月15日 11:34