2011-12-20 4 views
1

사용자가 브라우저를 닫을 때 모달 창 (대신 확인)을 표시하려고합니다. GWT 문서에서는 핸들러 조작 중에는 종료 중에 사용자 UI가 표시되지 않는다고 설명합니다. 사용자가 아닌 클라이언트에서 작업을 취소하는 방법이 있습니까?Window.ClosingEvent를 취소하려면 어떻게해야합니까?

미리 감사드립니다. Oscar.

답변

4

닫기 이벤트를 취소 할 수 없습니다. 당신이 할 수있는 최선의 방법은 사용자가 취소를 누를 수있게하는 것입니다. 나는 이것에 대한 이유가 "나쁜"자바 스크립트가 브라우저를 닫지 못하도록 막는 것이라고 생각합니다.

취소 옵션이있는 대화 상자가 표시됩니다.

Window.addWindowCloseListener(new WindowCloseListener() 
    { 
     public String onWindowClosing() 
     { 
      return "You are about to exit from the application. Are you sure?"; 
     } 

     public void onWindowClosed() 
     { 
      //cleanup code 
     } 
    }); 
+0

예, 알고 있습니다. 하지만 다른 이벤트로 컨트롤을 전달하기 위해 Close 이벤트를 취소하고 싶습니다. 이 이벤트는 사용자에게 알려주는 사용자 정의 윈도우를 표시하고 Close 이벤트를 발생시킨 후에 나타납니다. 문제는 Close 이벤트를 취소하는 방법을 모른다는 것입니다. advace에 감사드립니다! – ocell

+2

닫기 이벤트를 취소 할 수 없습니다. 당신이 할 수있는 최선의 방법은 사용자가 취소를 누를 수있게하는 것입니다. 나는 이것에 대한 이유가 "나쁜"자바 스크립트가 브라우저를 닫지 못하도록 막는 것이라고 생각합니다. – Spiff

+0

내 문제는 클라이언트가 Comfirmation 경고가 응용 프로그램의 다른 모달 창과 동일한 스타일을 원한다는 것입니다 .- ( – ocell

관련 문제