2013-12-11 6 views
0

사용자가 페이지에서 다른 곳으로 리디렉션 할 때 가로 챌 때 가로 챌 필요가 있습니다.GWT : 사용자가 창을 닫을 때 리디렉션

판매 흐름을 관리하여 되돌아 가지 않도록합니다.

우리는

Window.addCloseHandler(new CloseHandler<Window>() { 

    @Override 
    public void onClose(CloseEvent<Window> event) { 

    ... 
    Window.open("main"); 

    } 
}); 

처럼 뭔가를 시도했지만 이것은 단지 파이어 폭스에서 작동합니다. Chrome에서 코드가 실행되지만 리디렉션이 없습니다. "_blank"로 변경하면 주어진 URL로 새 창이 열리지 만 이것이 필수적인 동작은 아닙니다.

+0

브라우저가 모든 것을 수행하려고하는 경향은 사용자가 사이트/페이지에 고정되는 것을 방지 할 수 있습니다. 나는 당신의 유스 케이스가 무엇인지 모르지만, 당신이 그것을 해결하려고하는 방식을 확실히 좋아하지는 않을 것입니다. –

+0

나는 그것을 좋아하지 않지만 클라이언트가이 방법을 요청했다. 이것은 판매 프로세스의 단계간에 "점프"되는 것을 방지하기위한 것입니다. 예를 들어 사용자가 뒤로 버튼을 클릭하면 첫 번째 단계로 리디렉션됩니다. – algiogia

+0

그러면 앱 내에서 '기록'을 다르게 처리해야 할 필요가 있을까요? 첫 번째 단계는 동일한 "히스토리 토큰"을 공유하고 다시 버튼을 클릭하면 첫 번째 단계로 돌아갑니다 (BTW, onClose는 동일한 GWT 응용 프로그램의 "히스토리 토큰"사이의 이동을 처리하지 않습니다) 별도의 HTML 페이지가있는 경우 서버 측에서 처리 할 수 ​​있지만 명목상의 페이지를 탐색하는 방법에 따라 달라 지겠지만 믿을 수는 없습니다 (다시 한 번 모두에게 매우 나쁜 경험이지만, 기술적으로 불가능한 것은 아닙니다.) –

답변

1

나는이 문제가 생각 당 스펙 (HTML5) :

이 브라우징 환경을 탐색 할 수있는 기존의 시도이며, 소스 브라우징 컨텍스트가 탐색되고있는 브라우징 컨텍스트와 동일하고, 경우 이 시도는 현재 문서 알고리즘을 언로드하고 해당 네비게이션에서로드되는 리소스의 URL의 출처가이 네비게이션에서로드되는 리소스의 URL 출처와 동일한 출처가 아니며이 단계를 중단하지 않고 중단합니다. 브라우징 컨텍스트를 탐색하려는 기존의 시도에 영향을 미칩니다.

-출처 : http://www.w3.org/TR/html5/browsers.html#navigate

관련 문제