2010-02-12 6 views
4

사용자가 내 사이트에 연결하는 데 지연이 발생하면 아약스가 시간 초과되지 않고 사용자가 창을 닫는 것으로 결정합니다. 아약스 쿼리가 종료됩니까? 내가 처리 할 수있는 방법이 있습니까?이 페이지를 닫고 싶습니까? (Ajax가 성공하면 보너스가 종료됩니다.) 어떻게해야합니까?아약스 및 닫는 페이지를 처리하는 방법

난이 (어쩌면 파이어 폭스에 내장?) 같은 일 경우 확실하지 오전하지만 난이 페이지를 닫을 때 그것은

당신이 다른 페이지로 이동 하시겠습니까했다?

게시물 작성 또는 수정을 시작했습니다.

계속하려면 확인을 누르고 현재 페이지에 머무르게하려면 취소를 누릅니다.

나는이 다른 장소를 보았습니다. 사용자가 아약스를 제출하지 않고 게시물 중간에 나타나면 어떻게 표시합니까?

답변

4

이 문제를 해결하려면 window.onbeforeunload 이벤트를 사용할 수 있습니다. ajax 요청의 시작 부분에서 변수를 false로 설정하십시오. 콜백 함수에서 값을 true로 설정하고 window.onbeforeunload 이벤트에서 해당 변수를 확인하고 적합한 메시지를 표시합니다. 당신은 또한 당신의 페이지를 새로 고침 할 때

이 실행됩니다.

1

당신은 JS에서입니다 onbeforeunload 핸들러를 구현할 수 있습니다

window.onbeforeunload = function() 
{ 
    if (showMessage) 
    { 
     return trye 
    } 
    else 
    { 
     return; 
    } 
}