예가 있는데 브라우저 창을 닫을 때 세션을 종료해야합니다. page_unload()가 작동하지 않습니다. 예제는 다음과 같습니다. 부모 창과 창이 있습니다. 사용자가 자식 창을 닫을 때 세션을 삭제해야합니다. 제발 좀 도와주세요.사용자가 브라우저 창을 닫을 때를 감지하고 싶습니까?
답변
로그 아웃 페이지에 다시 게시하는 window.onbeforeunload 처리기로이 작업을 수행 할 수 있습니다. 클라이언트 측 스크립트는 서버 측 응용 프로그램에 AJAX 하트 비트를 전송하는 경우
function CloseSession()
{
location.href = 'SignOut.aspx';
}
window.onbeforeunload = CloseSession;
이
가 중복 질문입니다 .. 여기Closing the browser should actually clear the session variables an ASP.net session id
https://stackoverflow.com/questions/920042/kill-server-side-session-on-browser-window-close-closed
사전로드가 실행되지 않는다고 보장하지 않습니다. –
불행히도 이것은 불가능합니다. 그들이 할 수 있다고 주장하는 웹에서 예제를 찾을 수 있지만 때로는 매우 미묘한 결함이 있습니다.
javascript를 통해 닫는 브라우저를 감지하는 일관된 방법이 없습니다. 세션 수가 너무 많아서 걱정할 경우 서버의 세션 시간 초과를 줄이십시오. 그렇게 할 경우 작업을 잃지 않기 위해 활성 상태로 유지해야한다고 사용자에게 알리고 싶을 수도 있습니다.
이것은 일반적인 웹 HTTP 프로토콜에서 제공되는 것이 아닙니다. 브라우저가 닫힐 때를 확실히 알 수있는 실제 방법은 없습니다. 당신은 오직 "알지"못합니다. 어떤 수준의 확실성을 얻으려면 못생긴 해킹을 던져야합니다. 그런 다음에도 많은 경우에 실패하거나 부작용을 유발할 수 있습니다.
정상적인 해결 방법은 일종의 "하트 비트"를 설정하기 위해 브라우저에서 서버로 간격을두고 ajax 요청을 보내는 것입니다. 하트 비트가 멈 추면 브라우저가 닫히고 세션을 종료합니다. 그러나 다시 : 이것은 끔찍한 해킹입니다. 이 경우 주요 문제는 서버와 클라이언트가 동기화되지 않거나 자바 스크립트 오류가 발생하면 실패한 하트 비트에 대해 오탐 (false positive)을 얻는 것이 쉽고 세션 자체가 만료되지 않는 부작용이 있다는 것입니다.
+1 : 유일한 예외는 서버와 계속 통신하는 일종의 인라인 Java (또는 유사한) 애플릿을 실행하고 있으며 작동하는 유일한 이유는 정규 HTML 채널 외부에서 실행되기 때문입니다. HTML은 상태 저장 프로토콜이 아니며 javascript를 사용하여 그렇게하려고하는 방법은 최선의 해킹입니다. – Satanicpuppy
밖으로 CHK, 당신은 수도 누락 된 비트를 사용하여 세션을 닫습니다.
당신은 당신이 그래서 아이가 여부
- 1. JSF - 사용자가 브라우저 창을 종료했을 때 감지
- 2. SketchFlow에서 창을 제어하고 싶습니까?
- 3. 누군가 브라우저 창을 닫을 때 PHP 함수를 실행할 수 있습니까?
- 4. 브라우저 창을 닫을 때 로컬 Tomcat 서버를 종료하는 방법은 무엇입니까?
- 5. 드래그 앤 드롭과 jQuery로 위치를 감지하고 싶습니까?
- 6. 브라우저 창을 닫을 때 특정 이벤트가 처리되는지 확인
- 7. 자바 스크립트를 사용하여 브라우저 창을 닫을 수 있습니까?
- 8. 사용자가 popu 창을 닫을 때 부모의 새로 고침 드롭 다운
- 9. 부모 창을 닫으면 자식 창을 닫을 수 있습니까?
- 10. 브라우저 창을 닫기 전에 뭔가를하십시오.
- 11. 다른 창이 닫히면 브라우저 창을 변경하십시오.
- 12. 브라우저 창을 항상 맨 위에두고 초점을 맞추려면 어떻게해야합니까?
- 13. 창을 닫을 때 확인을 요청하는 방법은 무엇입니까?
- 14. 사용자가 다운로드 한 파일을 저장하는 경우에만 팝업 브라우저 창을 닫습니다.
- 15. 브라우저 외부에서 Silverlight 창을 닫으려면 어떻게해야합니까?
- 16. Unresizable 브라우저 창을 만드십시오
- 17. Xbap 응용 프로그램 : 사용자가 브라우저 또는 브라우저 탭을 닫을 때 종료 여부를 묻는 메시지를 표시하려면 어떻게합니까?
- 18. 부모 창을 닫을 때 자식 창을 자동으로 닫음
- 19. 창을 열고 자바 스크립트 창을 닫을 수 있습니까?
- 20. 주 창을 닫을 때 열리는 창을 만드는 방법은 무엇입니까?
- 21. Internet Explorer 창을 닫을 때 확인 메시지를 어떻게 표시합니까?
- 22. 사용자가 브라우저를 닫을 때 피드백을 묻는 방법?
- 23. GTK에서 어떻게 창을 닫을 수 없게 만드나요?
- 24. UnitTest ++은 닫을 수없는 cmd 창을 만듭니다.
- 25. 함수를 호출하여 창을 열고 닫을 수 있습니까?
- 26. 사용자가 Safari/Chrome에서 창을 닫을 때 확인 대화 상자가 나타날 수 있습니까? IE와 FF에서
- 27. 사용자가 EmailComposeTask를 사용하여 반환 할 때를 감지합니까?
- 28. 사용자가 Facebook 계정을 만들 때를 결정합니다.
- 29. 사용자가 창을 닫으면 Ajax 쿼리가 실행됩니까?
- 30. 작업 표시 줄에서 브라우저 닫을 때 세션 삭제
중복 인 경우 부모가 초점 확인을받을 때 http://stackoverflow.com/ 자식 창을 확인하기 위해 onfocus 및 필요 부모 윈도우의 모든 자식 창의 참조가 질문/920042/kill-server-side-session-on-browser-window-close-closed http://stackoverflow.com/questions/287022/closing-the-browser-should-actually-clear-the-session- variables-an-asp-net-sessio –