2011-09-29 3 views
3

사용자가 페이지를 떠날 때 Seam 2에서 대화를 끝낼 수있는 방법이 있습니까? 나도 물론 탐색 규칙 (this post 참조)에서 대화를 끝낼 수 있지만 사용자가 브라우저의 주소 표시 줄에 URL을 입력하면 대화를 끝내기를 원합니다.사용자가 페이지를 떠날 때 Seam의 끝내기 대화

자바 스크립트 (예 : onbeforeunload)를 통해이 작업을 수행 할 수 있습니까? 하지만 자바 스크립트를 통해 대화를 중단하는 방법은 무엇입니까?

답변

3

사용자가 브라우저의 주소 표시 줄 에 URL을 입력하면 대화를 끝내고 싶습니다.

자바 스크립트를 통해이 작업을 수행 할 수 있습니까 (예 : onbeforeunload)? 하지만 자바 스크립트를 통해 대화를 중단하는 방법은 무엇입니까?

onbeforeunload 이벤트를 구현하고 AJAX를 사용하여 사용자가 사이트로 나가서 모든 대화를 종료 할 수 있습니다. 그러나 브라우저에서 발생하는 이벤트에 의존 할 수 없기 때문에이 솔루션을 사용하지 않는 것이 좋습니다. JavaScript는 좋은 옵션이 아닙니다. 클라이언트 측에서이를 비활성화 할 수 있기 때문에 (브라우저뿐만 아니라 네트워크에서도 충돌이 발생할 수 있기 때문입니다. 연결이 끊어 질 수 있습니다.)

이렇게하려면 대체 aproach가 서버에 이음새 conversation timeout을 설정하는 것입니다. 사용자가 페이지를 떠날 때 비활성 대화를 더 빨리 닫으려면 시도 시간을 줄이십시오. 대화 - 제한 시간을 구성

이 당신의 components.xml에서 다음을 수행 할 수 있습니다 세션이 시간 어떤에서 관련 때

<core:manager conversation-timeout="700000" /> 

공지 사항이 대화-제한 시간은 foreground 대화 의지 만 시간 제한, background 대화에 영향을 미치는 귀하의 요구 사항.

대화 시간 제한에 대한 자세한 내용은 article에서 확인할 수 있습니다.

+0

내 문제에 대한 매우 흥미로운 생각인데, 실제로 자바 스크립트가 올바른 해결책이 아닌 것처럼 보입니다. 링크를 가져 주셔서 감사합니다, 나는 전경 및 배경 대화가 있다는 것을 몰랐습니다. –

관련 문제