js如何在父页面监听 是否有子弹窗页面打开
时间: 2024-03-28 12:39:20 浏览: 12
在JavaScript中,可以使用`window.open()`方法打开一个子窗口,此时可以获取到该子窗口的句柄,可以利用这个句柄在父窗口中进行操作。如果想要在父页面中监听是否有子弹窗打开,可以利用这个句柄进行判断。
具体实现可以参考以下代码:
```javascript
// 定义打开子窗口的函数
function openChildWindow() {
window.childWindow = window.open('http://www.example.com', 'childWindow', 'height=400,width=600');
}
// 监听子窗口是否被关闭
window.setInterval(function() {
if (window.childWindow && window.childWindow.closed) {
console.log('子窗口已关闭');
window.childWindow = null;
}
}, 1000);
```
在上面的代码中,我们定义了一个`openChildWindow()`函数,用于打开一个子窗口,并将子窗口的句柄保存在`window.childWindow`变量中。然后,我们通过`window.setInterval()`方法,每隔一段时间检查一次子窗口是否被关闭,如果子窗口已经关闭,则在控制台输出一条消息,并将`window.childWindow`变量设置为`null`。
通过上面的代码,我们可以在父页面中监听是否有子弹窗打开,并在子窗口关闭时进行相应的处理。需要注意的是,由于浏览器的安全限制,如果子窗口的域名与父窗口不同,那么就无法进行跨域操作。