>웹 프론트엔드 >JS 튜토리얼 >window.open을 사용하여 생성된 팝업에서 onLoad 이벤트를 어떻게 모니터링할 수 있습니까?

window.open을 사용하여 생성된 팝업에서 onLoad 이벤트를 어떻게 모니터링할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-24 13:35:31261검색

How Can I Monitor the onLoad Event in Pop-ups Created Using window.open?

window.open으로 생성된 팝업 창에서 onLoad 이벤트 모니터링

window.open을 사용하여 열린 창에서 onLoad 이벤트를 감지하는 것은 다양한 브라우저에서 어려운 일입니다. 다음 코드는 이를 구현하려고 시도했지만 실패했습니다.

window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
$(window.popup).onload = function()
{
    alert("Popup has loaded a page");
};

솔루션

onLoad 이벤트를 성공적으로 캡처하려면 다음 방법을 권장합니다.

1. addEventListener

최신 브라우저의 경우 다음과 같이 addEventListener 메소드를 활용하세요.

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

2. attachmentEvent(IE용)

Internet Explorer 지원이 중요하다면, 다음과 같이 attachmentEvent 메소드를 사용하세요.

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

IE 지원 시 주의사항

IE 지원은 번거로울 수 있습니다. 가능하다면 이를 피하거나 IE 호환성을 위한 특정 솔루션을 구현하는 것이 좋습니다.

위 내용은 window.open을 사용하여 생성된 팝업에서 onLoad 이벤트를 어떻게 모니터링할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.