2012-01-28 3 views
1

GWT를 사용하여 브라우저 창이 닫혀 있는지 감지하는 방법이 있습니까?브라우저 창이 닫혀 있는지 감지하는 방법이 있습니까?

Window.open("some_url", "__blank", null); 

내가 GWT를 통해 열린이 창을 닫을 어떠했는지를 감지해야합니다 예를 들어, 윈도우는이 코드를 사용하여 GWT를 열었다. 그렇게 할 수있는 방법이 있습니까?

+0

http://stackoverflow.com/questions/6804118/how-to-create-one-database-connection-per-user-on-a-java-servlet-application/6804785#6804785 –

답변

2

제 생각에는 크로스 브라우저로 만드는 것이 진짜 문제입니다. GWT는 onunload 이벤트를 처리 (브라우저가 문서를 폐쇄 전에 발생)

Window.addCloseHandler(new CloseHandler<Window>() { 
      public void onClose(CloseEvent<Window> windowCloseEvent) { 

      } 
     }); 

있다. 그러나 페이지를 새로 고칠 때이 이벤트가 발생하기 때문에 모든 브라우저에서 브라우저 닫기 이벤트를 처리하는 데는 작동하지 않습니다.

GWT는 자바 스크립트가이 문서를 참조 생성하기 때문에

: 여기 Window Close Event of Browser 이 그 기사의 결론이다 :

결론을 우리는 이미에는 100 % 바보 증거 방법이 없다는 것을 언급했듯이

많은 경우에 브라우저 닫기 이벤트를 감지하면 위의 기술 이 실패 할 수 있습니다. 예를 들어 사용자가 브라우저의 프로세스를 작업 관리자에서 삭제하면 더 많은 경우가있을 수 있습니다. 그러나 많은 경우에, 이 기술은 편리 할 수 ​​있습니다. 행운과 행복 프로그래밍의 최고. 정확한

+0

, 페이지를 다시로드하면 엔티어 콘텐츠를 다시 제공해야하므로 마지막 세션의 남은 부분이 아닌 ... – Stefan

+0

@Jamshid 왜 크로스 브라우저인가? 새 창에서 어떤 종류의 페이지도 열 수 있습니까 (크로스 브라우저 문제가 있습니까?) 그게 무슨 뜻입니까? – xybrek

+0

열기는 모든 브라우저에서 동일하지만 창 새로 고침과 브라우저 닫기 사이를 구분할 수는 없습니다. 두 이벤트 모두'onUnload' 이벤트에 의해 처리됩니다. –

관련 문제