首页  >  文章  >  web前端  >  如何检测使用Window.open打开的Windows中的页面加载事件?

如何检测使用Window.open打开的Windows中的页面加载事件?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-24 13:05:31683浏览

How to Detect Page Load Events in Windows Opened with Window.open?

在使用 window.open 打开的 Windows 中检测页面加载事件

在某些情况下,有必要检测页面何时完全加载在使用 window.open 方法创建的窗口中。但是,尝试使用 $(window.popup).onload 捕获此事件并未成功。本文深入研究了替代技术,使开发人员能够有效地监视通过 window.open 打开的窗口中的页面加载事件。

实现此任务的关键在于利用 addEventListener 方法。以下是解决该问题的更新代码片段:

var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);

此代码为 window 对象分配专用的事件侦听器,然后在打开的窗口中的页面加载完成时触发 myFunction。

确保与 IE 的兼容性

需要注意的是,支持 Internet Explorer (IE) 需要稍微不同的方法:

myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);

此扩展语法增加了兼容性通过利用 addEventListener 和 AttachEvent 方法来支持 IE。

虽然支持 IE 可能很麻烦,但出于受众考虑,建议仅在绝对必要时才这样做。

以上是如何检测使用Window.open打开的Windows中的页面加载事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

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