Javascript 如何在Vue.js中捕获子窗口的onclose(onbeforeunload)事件?
我尝试在Vue.js中创建一个函数,在Chrome中打开一个新窗口。我需要从打开窗口的Vue中的同一组件捕获窗口的onclose或onbeforeunload事件。我尝试以这种方式实施它:Javascript 如何在Vue.js中捕获子窗口的onclose(onbeforeunload)事件?,javascript,vue.js,Javascript,Vue.js,我尝试在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
...
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'); };
}
}
...
使用此代码,我可以打开新窗口,但当我关闭窗口时,在控制台中看不到任何消息。我还尝试在组件的数据属性中插入子变量,但没有任何更改
请,有人可以帮助我捕获Vue组件内窗口的onclose事件
提前谢谢。不幸的是,那样做不行 然而,像这样的事情可能会让你接近你想要的东西
...
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);
}
}
简化示例:我对Vue的理解是,它使用虚拟DOM,而这可能不会出现在启动的新窗口中。在加载应用程序时,可以在同一页上考虑模态或子组件,然后检测何时关闭或卸载。