팝업을위한 닫기 이벤트를 찾고 있습니다. 내가 for XUL 하나를 찾았지만, HTML이 필요합니다.팝업 폐쇄를 처리하는 적절한 방법
팝업에는 closed
속성이 있습니다.
>>> var popup = open('http://example.com/', 'popup', 'height=400,width=500');
>>> popup.closed
false
글쎄, 나는 할 수있다. check it once at half second.
function open_popup() {
var popup = open('http://example.com/', 'popup', 'height=450,width=450');
var timer = setInterval(function(){
if (popup.closed) {
alert('popup closed!');
clearInterval(timer);
}
}, 500);
}
Chrome 4.0.249.27, Opera 10.10, Safari 4.0.4 및 Firefox 3.5.5에서 테스트했습니다. 모두 잘 작동합니다.
하지만 setInterval은 나를 귀찮게합니다. 그것은 추합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
업데이트 : 인증 대화 상자 (실제로 oAuth)에 팝업을 사용합니다. popUpdate를 통해 부모 창에 데이터를 보내고 싶습니다.
다른 도메인의 팝업 페이지 내에 있습니다. 따라서 보안 제한으로 인해 어떠한 이벤트 (unload
)도 추가 할 수 없습니다.
iframe 버스터 스크립트로 인해 iframe을 사용할 수 없습니다. 따라서 멋진 jQuery 모달 대화 상자를 사용할 수 없습니다.
내용의 팝업창에 개를 편집 할 수 없습니다.
GAH! 나는 바로 전에 이것을하는 길을 보았다! 새로 생성 된 윈도우에는 속성이 있습니다. 생성 된 원래 윈도우를 다시 참조하고 함수를 실행한다고하는 문서의 속성이라고 생각합니다. 그것은 당신의 예제에서 popup.closed와 비슷하게 작동합니다. 다른 말로는 –
아하, 그것을 발견했습니다 - 아래 답변. –