2011-03-15 2 views
2

전 이벤트 리스너 윈도우를 추가 할 때마다. 이전에로드되지 않은 페이지가 리디렉션되는 위치를 확인할 수 있습니까? 또는 개발자가 변경하려고 시도한 것이 있습니까? 이제 문제가 나는 경우 document.location에, 로직을 변경하려면,이다window.onbeforeunload가 호출 될 때 페이지가 리디렉션되는 위치를 알 수 있습니까?

$(window).bind("beforeunload",function(){ 
     //I do what I want here 
}); 

:

이 내가 지금하는 일이다

다음

내가 정말 원하는 것입니다. HREF = "MAILTO : *"나는 doccument.location.href가 호출 될 때 아무 것도하고 싶지 않아 called.ie되고, 그래서 나는 나에게 나의 논리가 좋아 싶어한다 :

$(window).bind("beforeunload",function(){ 
     if(document.location.href has mailTo:) 
     { 
      //do nothing 
     } 
     else 
     { 
      //my old logic applies here 
     } 
}); 

답변

3

당신은을 추가해야합니다 이벤트 핸들러 귀하의 웹 페이지에있는 Href 링크 이 onclick = their href에 변수를 설정하면 onbeforeunload 스크립트에서 해당 변수를 읽을 수 있습니다.

가 리디렉션 브라우저에 새로운 URL을 입력하는 사용자와 같은 다른 이벤트로 인해 발생하거나 스크립트를 사용하지만 경우
var storeHref = null; 
    $("a").bind("click", function(){ 
     storeHref = this.href; 
     return true; 
    }); 

    $(window).bind("beforeunload",function(){ 
     if(storeHref has mailTo:) 
     { 
      //do nothing 
     } 
     else 
     { 
      //my old logic applies here 
     } 
    }); 

, 당신으로 인해 보안에 목적지를 검색 할 수 없습니다 : 예제 코드는 다음과 같이 될 것이다 원인.

유사 : 실제로 여기 How can i get the destination url in javascript onbeforeunload event?

+2

경우는 사용자가 링크를 클릭하지 않지만 개발자가 보인다 = "흔한", 또는 document.location.href = "someotherlink" – Neeraj

+1

을 document.location.href 호출 가능하지 않다면 http://stackoverflow.com/questions/1686687/how-can-i-get-the-destination-url-in-javascript-onbeforeunload-event – DhruvPathak

+0

을 참조하면 내가 받아 들일 수 있도록 답변을 업데이트 할 수 있습니까? 올바른 것으로? – Neeraj

관련 문제