ASP.NET 프로그래밍중 윈도우의 닫기버튼이 눌려지면 어떤 함수를 기동하려 합니다.
근데...저 윈도우의 닫기버튼을 감지할 수 있는 객체나 뭐 없을까요...
하루종일 답답해서 이렇게 질문올립니다.
인위적으로 만든 '닫기버튼'은 window.close() 같은걸로 이벤트가 발생된는지 알 수 있지만
윈도우창에 닫기버튼은 뭘로 감지할 수 있나요?
버튼을 죽이는 것도 생각해 봤으나 살려둬야 할 것 같아서요...
re: 윈도우 [X]닫기버튼 이벤트가 발생했을때 감지하는 오브젝트 뭐 없나요?? |
|
---|
질문자인사 제 해설 부족이였습니다. 님의 해설은 완벽했구요 onUnload 로는 창이 닫히고 루틴이 수행되서 onbeforeunload 로 해결하였습니다. 빠른 답변 감사드립니다.
re: 윈도우 [X]닫기버튼 이벤트가 발생했을때 감지하는 오브젝트 뭐 없나요?? |
|
---|
질문자인사 님도 감사드립니다.
http 프로토콜의 html 문서 특성상, 창이 닫히는 이벤트를 감지할 수 있는 객체는 현재로선 없습니다...별도로 ActiveX 같은걸 심지 않는 이상 불가능하다고 봐야합니다...
께서 말씀하신 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에서는 팝업차단기능으로 정상적으로 창이 뜨지 않는 경우가 많습니다...^^