JavaScript에서 팝업 창의 이벤트 닫기
팝업 창이 window.open
닫히기 전에 몇 가지 작업을 수행해야합니다 (사용 ).
다음과 같은 것이 좋습니다.
var new_window = window.open('some url')
new_window.onBeforeUnload = function(){ my code}
어떻게 할 수 있습니까?
팝업 창 URL 상위이 페이지 와 동일한 도메인에 있고 이벤트를 모두 소문자로 변경하면 예제가 작동 합니다 .
var new_window = window.open('some url')
new_window.onbeforeunload = function(){ /* my code */ }
수락되어있는 것과 동일한 출처에 대해 서로 만나는 것이 있습니다.
var win = window.open('http://www.google.com');
var timer = setInterval(function() {
if(win.closed) {
clearInterval(timer);
alert('closed');
}
}, 1000);
출처 : atashbahar.com
사용을 고려중인 분들을 위해.
심지어 페이스 북도 자바 펼쳐 SDK 에서이 "핵"을 사용하고 있습니다 .
코드를 살펴보면이를 확인할 수 있습니다. https://connect.facebook.net/en_US/sdk.js.closed
에서 검색 하십시오 .
이벤트 이름은 onbeforeunload
하지 onBeforeUnload
. JS는 대소 문자를 구분합니다.
onbeforeunload
이벤트가 열린 후 창에 이벤트 를 바인딩해야합니다 .
이를 수행하는 가장 간단한 방법은 윈도우 소스 코드 복제를 수행하는 코드를 포함하는 것입니다.
자세한 설명은 여기 와 여기 Stackoverflow 에서 매우 많은 가지 질문을 참조하십시오 .
onbeforeunload 이벤트 가 열린 후 창에 바인딩해야한다고 언급 했었습니다 .
다른 예를 참조하십시오 : https://stackoverflow.com/a/25989253/578275 .
var new_window = window.open('some_url')
경우에도 확인할 수 new_window.window
있습니다 null
. 그러나 setTimeout
또는 setInterval
기능 현관 을 사용하여 수동으로 확인해야 우리 합니다.
이것은 동일한 도메인에 있지 않을 때 확인하는 유일한 방법입니다.
참조 URL : https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript
'ProgramingTip' 카테고리의 다른 글
Jquery $ ( '# div'). 보여 주다 (). 지연 (5000) .hide (); (0) | 2021.01.05 |
---|---|
writeToFile : atomically : atomically는 무엇을 의미합니까? (0) | 2021.01.05 |
UIView autoresizingMask- 코드에 대한 인터페이스 빌더-프로그래밍 방식으로 스트럿 및 스프링 생성 -Swift 또는 Objective-C (0) | 2021.01.05 |
ActionBar가없는 Android 활동 (0) | 2020.12.31 |
Xcode 플레이 그라운드는 Sources 폴더의 신속한 파일에 액세스 할 수 없습니다. (0) | 2020.12.31 |