我试图在Vue.js中创建一个函数,该函数在Chrome中打开一个新窗口。我需要从打开窗口的Vue中的同一组件捕获窗口的onclose或onbeforeunload事件。我尝试以这种方式实现它:
...
methods: {
gitConnet(){
var child = window.open("https://www.google.it", '_blank', 'fullscreen=no,height=600,width=800,top=100,location=no,titlebar=0');
child.onclose = function(){ console.log('Child window onclose closed'); };
child.onbeforeunload = function(){ console.log('Child window onbeforeunload closed'); };
}
}
...
使用此代码,我可以打开新窗口,但是当我关闭窗口时,控制台中看不到任何消息。我也尝试过将子变量插入组件的data属性中,但是没有任何改变。
请,有人可以帮助我捕获Vue组件内部窗口的onclose事件。
谢谢。
答案 0 :(得分:1)
不幸的是,那样做是不可能的。
但是,这样的事情可能会使您与所追求的目标保持足够的距离。
...
methods: {
gitConnet(){
var child = window.open("https://www.google.it", '_blank', 'fullscreen=no,height=600,width=800,top=100,location=no,titlebar=0');
var loop = setInterval(function() {
if(child.closed) {
clearInterval(loop);
alert('closed');
// Do your thing here it has been closed.
}
}, 500);
}
}
...