2012-08-02 3 views
3

나는 사용자가 페이지를 떠날 때 그들이 설문 조사를 작성하고 싶은지 묻는 자바 스크립트를 쓰려고한다. 내 솔루션은이 사이트의 답변에 의해 발견 된 것 같습니다. 현재 작동하지 않는 코드입니다.onUnload로 고생하다

<script language="javascript"> 

function comfirmsurv() { 

var ConfirmStatus = confirm("We would love to receive your feedback on your experience of this page. Would you like to complete our short survey?"); 

if (ConfirmStatus == true) { 

window.open("#"); 

} 
else 
{window.close();} 
} 
} 
window.onUnload=confirmsurv() 

</script> 
<body> 
Test 
</body> 

모든 도움을 주시면 감사하겠습니다.

window.onunload = confirmsurv; // Note no() 

몇 가지 다른 문제 :

답변

4

당신은 아닌 함수 자체 함수를 호출의 결과를 할당하는

  1. 자바 스크립트는 대소 문자를 구분합니다, 당신은 후있는 속성이있다 "으로 onUnload ","onUnload "가 아닙니다.
  2. 기능의 이름은 "comfirmsurv"이지만 "confirmsurv"는
  3. window.close()입니다. 열려있는 창만 닫을 수 있고 다른 창은 닫을 수 없습니다.
  4. }이 추가로 있습니다. 스크립트 요소에 대한
  5. 언어 속성이 10 년 이상 사용되지 않습니다, type 속성은 type="text/javascript"
+0

type = "text/javascript"도 사용되지 않습니다. 사실 이전 IE 버전에만 존재합니다. – devundef

+0

와우. 나는 내 코트를 입을거야. 도와 줘서 고마워. – user1571012

+0

닫히지 않고 내 페이지가 열릴 때 확인 상자가 나타나는 이유는 무엇입니까? – user1571012

0

언로드 속성이 잘못 onUnload 대신 onunload으로 언급되어 사용이 필요합니다. 또한 코드에는 너무 많은 오류가 여기 저기에 있습니다.

브라우저의 콘솔 로그는 오류의 원인을 찾기 위해 사용할 수있는 로그를 제공합니다.

다음은 고정 된 스크립트입니다.

<SCRIPT> 
function confirmsurv() { 

    var ConfirmStatus = confirm("We would love to receive your feedback on your experience of this page. Would you like to complete our short survey?"); 

if (ConfirmStatus == true) { 
    window.open("#"); 
} else { 
    window.close(); 
} 

} 

window.onunload=confirmsurv; 
</SCRIPT> 
+0

대단히 감사합니다. 나는 방금 온라인 자습서를 통해 학습하기 시작했습니다. 이 스크립트는 여전히 내 페이지에는 아무런 영향을 미치지 않습니다. 확인 상자는 표시되지 않습니다. – user1571012

+0

. 감사. – user1571012