[인터돌™] 공부 해보자!! 열심히~~~

윈도우 [X]닫기버튼 이벤트가 발생했을때 감지하는 오브젝트 뭐 없나요??

kyoungkyon 2005.10.20 18:24

ASP.NET 프로그래밍중 윈도우의 닫기버튼이 눌려지면 어떤 함수를 기동하려 합니다.

근데...저 윈도우의 닫기버튼을 감지할 수 있는 객체나 뭐 없을까요...

하루종일 답답해서 이렇게 질문올립니다.


인위적으로 만든 '닫기버튼'은 window.close() 같은걸로 이벤트가 발생된는지 알 수 있지만

윈도우창에 닫기버튼은 뭘로 감지할 수 있나요?

버튼을 죽이는 것도 생각해 봤으나 살려둬야 할 것 같아서요...


re: 윈도우 [X]닫기버튼 이벤트가 발생했을때 감지하는 오브젝트 뭐 없나요??

haan

답변채택률 89.1%

2005.10.20 18:50

질문자인사 제 해설 부족이였습니다. 님의 해설은 완벽했구요 onUnload 로는 창이 닫히고 루틴이 수행되서 onbeforeunload 로 해결하였습니다. 빠른 답변 감사드립니다.

BODY 태그에 onUnload 이벤트를 추가하시면 가능합니다.
다음을 참고하세요.
 
<body onUnload="alert('윈도우가 닫혔습니다.');">



re: 윈도우 [X]닫기버튼 이벤트가 발생했을때 감지하는 오브젝트 뭐 없나요??

trucrys

답변채택률 85.3%

2005.10.21 09:45

질문자인사 님도 감사드립니다.

http 프로토콜의 html 문서 특성상, 창이 닫히는 이벤트를 감지할 수 있는 객체는 현재로선 없습니다...별도로 ActiveX 같은걸 심지 않는 이상 불가능하다고 봐야합니다...


 haan께서 말씀하신 onUnload 는 정확히 말하면 창이 닫힐때가 아니라 말그대로 페이지가 언로드될때 실행되는 부분입니다...

 따라서 이 이벤트로 부족하긴 하지만 어느정도 필요한 작업을 수행할 수는 있습니다...


 onUnload 이벤트에 약간의 트릭을 쓴다면 특정코드를 실행하는게 가능한데요...

창이 닫힐때 실행되어야 할 ASP.NET 코드가 담겨있는 페이지를...

 onUnload="window.open('페이지url');" 이렇게 하시면...

창이 닫힐때 그 페이지가 열리면서 해당 코드가 실행됩니다...


 만약 실행되는 페이지를 숨기고 싶다면...

 해당 페이지의 top과 left를 top=2000, left=2000 이런식으로 주시면 화면상에 보이지 않게 됩니다...^^


 <body onUnload="window.open(해당페이지URL, 'left=2000, top=2000, width=0, height=0, scrollbars=no, resizable=no, toolbar=no, menubar=no, directories=no, status=no');">


이런식으로 하시면 됩니다...^^*


다만 이방법 역시 해당 PC에 윈도우XP 서비스팩2가 설치되어 있지 않아야 가능합니다

윈도우XP 서비스팩2에서는 팝업차단기능으로 정상적으로 창이 뜨지 않는 경우가 많습니다...^^


------------------------------------------------------
원문 출처 : http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10102&eid=Pf1fPZodxPKufag+oD2mNqDa3ontE0Bo&qb=d2luZG93IGNsb3NlIMDMuqXGriC537v9

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band

본문과 관련 있는 내용으로 댓글을 남겨주시면 감사하겠습니다.

비밀글모드