我正在为弹出窗口寻求适当的实现。我的目标是正确侦听子窗口关闭事件。在域相同的情况下,我希望通过addEventListener进行事件;在域不同的情况下,我希望进行回退,以检查间隔是否在子窗口上关闭window.close。
我的问题是该异常不会一直触发,因此我可以从后备开始。如果我在addEventListener之前设置一个断点,它将引发异常,并且可以捕获它。如果代码仅在没有断点的情况下运行,则不会引发异常,并且addEventListener似乎成功,但是不会捕获任何事件。
<button>Click</button>
<script>
document.querySelector('button').addEventListener('click', () => {
var h = window.open('https://google.com', 'asd', `scrollable`);
try {
h.addEventListener('close', () => console.log('never captured'));
} catch (e) {
console.warn('Fallback not happening because nothing to catch', e);
}
});
</script>
您知道如何解决此问题或如何建立适当的后备吗?
预先感谢