2012-06-12 2 views
0

JavaScript에 문제가 있습니다. 전체 웹 사이트를 종료 할 때 질문이있는 팝업 메시지가 뜨는 스크립트를 원합니다. 방문자가 "아니오"로 대답하면 웹 페이지가 닫히고 "예"라고 대답하면 다른 페이지로 리디렉션됩니다. http://www.pgrs.net/2008/01/30/popup-when-leaving-website/에서 예제를 찾았지만 나에게 도움이되지 않는 것 같습니다. 나는 해결책을 찾지 못했습니다. 플리 (Pleae)가 내 코드를 확인하고 내가 뭔가 잘못하고 있다고 말할 수 있습니까? 여기 내 소스 코드입니다.웹 사이트를 떠날 때 나타나는 팝업

누군가가 문제를 겪을 수도 있습니다.

<!DOCTYPE html> 
<html lang="lt"> 
<head> 
    <meta charset="utf-8"> 
    <title>PUA.LT</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <meta name="description" content=""> 
    <meta name="author" content="Perfect WEB Solutions"> 
    <link rel="stylesheet" href="<?php echo base_url("additional/style.css") ?>"> 
    <script src='<?php echo base_url("additional/prototype.js")?>' type='text/javascript' ></script> 
</head> 
<body> 
<script type="text/javascript"> 


Event.observe(document.body, 'click', function(event) { 
    if (Event.element(event).tagName == 'A') { 
    staying_in_site = true; 
    } 
}); 

window.onunload = popup; 

function popup() { 
    if(staying_in_site) { 
    return; 
    } 
    alert('I see you are leaving the site'); 
} 
</script> 

</body> 
</html> 
+0

가능한 중복 [자바 스크립트 - 확인 때 떠나 페이지] (http://stackoverflow.com/questions/3156052/javascript-confirmation-when-leaving-page) – TheHippo

+0

이 하나도 [사용자가 웹 페이지를 떠날 때 탐지하는 가장 좋은 방법] (http://stackoverflow.com/questions/147636/best-way-to-detect-when-user-leaves-a-web-page) – Brad

답변

5

이 시도 :

window.onbeforeunload = popup; 

function popup() { 
    return 'I see you are leaving the site'; 
} 
+1

이 답변은 정확합니다. 어떤 경고, 표준 팝업, 페이지가 언로드 될 때 확인 메시지가 발생할 수 없습니다. 반환 메시지는 확인 사항이지만 최대한 멀리 갈 수 있습니다. 좋은 물건 :) – matsko

+0

메뉴 링크와 같은 내부 링크를 클릭해도 스크립트가 팝업을 활성화합니다. 나는 전체 웹 출구에서만 필요하다. 또한 Prototype.js 프레임 워크를 사용하고 있습니다. –

+0

onbeforeunload를 무효화해야합니다. 웹 사이트 내에서 클릭하면 다음과 같이해야합니다. window.onbeforeunload = null; – emphaticsunshine

관련 문제