首页  >  文章  >  web前端  >  如何检测通过Window.open打开的子窗口中的窗口加载事件?

如何检测通过Window.open打开的子窗口中的窗口加载事件?

Linda Hamilton
Linda Hamilton原创
2024-10-24 14:33:02399浏览

How to Detect Window Load Events in Child Windows Opened via Window.open?

检测通过 window.open 打开的窗口的加载事件

检测使用 window.open 打开的窗口的加载事件对于父窗口和子窗口之间的通信。虽然初始代码片段中概述的方法在许多浏览器中不起作用,但这里有一个强大的解决方案:

使用 addEventListener 方法:

<code class="javascript">var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);</code>

This所有主流浏览器都支持该方法,包括 IE、Firefox 和 Chrome。

通过 AttachEvent 支持 IE:

如果支持 IE 至关重要,可以使用以下代码用于代替 addEventListener:

<code class="javascript">myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);</code>

此方法提供了与旧版本 IE 的向后兼容性。

IE 支持注意事项:

扩展支持对于 IE 来说可能很麻烦。如果可能的话,考虑使用替代方法。但是,如果您的受众需要 IE 支持,attachEvent 方法是一个可靠的解决方案。

以上是如何检测通过Window.open打开的子窗口中的窗口加载事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn