2014-12-03 2 views
0

이제 프로젝트의 다른 URL 기능으로 리디렉션하는 새로 고침 메커니즘을 구현하려고합니다. 다시로드에 대한사용자 새로 고침 웹 페이지를 사용할 수 있습니까? 동시에 다른 URL로 리디렉션 할 수 있습니까?

내 콜백은 다음과 같습니다 : 아래 코드는 작동하지 않습니다

<script type="text/javascript"> 
    var connection; // connection will build up in the following code 
    $(window).bind('beforeunload',function(){ 
    connection.close(); 
    console.log(connection.readyState); 

    //I try to redirect from here 
    window.location.replace("http://stackoverflow.com"); 
    return 'are you sure you want to leave?'; 
    }); 

</script> 

. 내 문제에 대한 가능한 해결책은 무엇입니까?

감사합니다.

답변

3

confirm 대화 상자를 사용하여 떠날 지 여부를 사용자에게 질문 할 수 있습니다.

사용자가 퇴장하기를 원하면 location.reload()으로 페이지를 새로 고친 다음 location.href에 새 href의 값을 할당하여 새 대상으로 리디렉션 할 수 있습니다.

그러나 물론

(새로 고침) 이전 작업은 어쨌든 다른 사용자 곳을 리디렉션려고하는 경우에 필요하지 않습니다,하지만 deside하는 당신까지 :

var reload = confirm("are you sure you want to leave?"); 
if(reload) 
{ 
    location.reload(); // Refresh the site, not needed really. 
    location.href = "http://stackoverflow.com"; // Redirect. 
} 

편집

는 우리가 사용할 수있는 다시로드에 일어날 수 있도록 unload (테스트하지) :

언로드 이벤트가 발생할 창이 unloadin 때 그것의 내용 및 자원. 자원 제거는 언로드 이벤트가 발생한 후에 처리됩니다. 이 같은

뭔가 작업을해야합니다 : 크롬 같은 일부 브라우저는, 어쩌면, 언로드에 경고를 만들어 해당 카테고리에 맞는을 확인하지만, 그것을 시도 자유롭게 당신을 금지한다는

$(window).unload(function() 
{ 
    var reload = confirm("are you sure you want to leave?"); 
    if(reload) 
    { 
     location.reload(); // Refresh the site, not needed really. 
     location.href = "http://stackoverflow.com"; // Redirect. 
    } 
}); 

참고.

+0

처음 페이지를 방문 할 때 확인 대화 상자를보고 싶지 않으면 어떻게해야합니까? – CWC

+1

@CWC 많은 옵션이 있습니다. 구현 방법에 따라 다릅니다. 사이트를 방문 할 때마다 (처음 제외) 자동으로 실행되도록 하시겠습니까? 아니면 어떤 종류의 버튼을 사용 하시겠습니까? 당신은 내가 생각하는 이벤트 리스너를 찾고 있습니다. 이벤트는 당신에게 달린 것입니다. 벽에 부딪쳐 더 많은 연구가 문제를 이해하는 데 도움이되지 않는다면 새로운 질문을하십시오. – Jonast92

+0

처음 방문 할 때 대화 상자없이 페이지를 만들고 싶을 때 (새로 고침) = > 웹 페이지가 http://www.stackoverflow.com으로 리다이렉트 될 것입니다. (약간의 대화 정보로) ~ thanks – CWC

관련 문제