• Q&A
  • 회원가입
  • 로그인

[DOM_Event] JS - beforeunload 이벤트 (= onbeforeunload 속성) - 웹문서 언로드 (= 사이트떠날때)

2,650  

beforeunload 예제

 

<body onbeforeunload="return homzzang()">


<a href="https://homzzang.com/">홈짱닷컴 바로가기</a>

    

<script>

function homzzang() {

  return "홈짱닷컴 Homzzang.com";

}

</script> 

 

 

 

beforeunload 정의

 

문서를 언로드하려고 할 때 발생.

 


 

1.

이 이벤트 사용하면 확인창에 메시지 표시해 사용자에게 현재페이지에 그대로 머물건지 선택질문 가능.

 

2.

확인 상자에 나타나는 기본메시지는 브라우저마다 다르며, 제거 불가.
(표준메시지: "이 페이지를 나가시겠습니까?")

 

3.
기본 메시지와 함께 사용자 정의 메시지 작성가능. (위 예제)
단, 이 기능은 Internet Explorer에서만 작동.

 

4.
onbeforeunload 이벤트가 <body> 요소에 할당되지 않은 경우
창 객체에서 이벤트 할당/첨부하고 returnValue 속성 사용해 사용자정의메시지 작성. (아래 JS구문)

 

5.

모든 브라우저 지원.

 

6.

이벤트확산 : X
취소가능성 : O

이벤트타입 : 사용자 인터페이스에서 생성되면 UiEvent, 그렇지 않으면 Event.

지원 HTML : <body>

DOM 버전 : Level 2 Events

 

 

 

beforeunload 구문

 

<element onbeforeunload="homzzang()"> 

 


 

object.onbeforeunload = function(){homzzang()};

 


 

object.addEventListener("beforeunload", homzzang);

 

※ homzzang : 실행함수명. (함수명 자리에 실행코드를 직접 입력 가능)

※ addEventLister() 방식 주의사항 2가지 : (이벤트명에 on 안 붙인. / 실행함수명 뒤에 소괄호 안 붙임)

※ addEventListener() 메서드는 IE8 및 그 이전 브라우저는 지원 안 함.  

 

beforeunload 예제1

 

<a href="https://homzzang.com">홈짱닷컴 바로가기</a>


<script>

window.onbeforeunload = function(event) {

  event.returnValue = "자주 놀러와 !!";

};

</script>

 

결과보기

 

beforeunload 예제2

 

<a href="https://homzzang.com">홈짱닷컴 바로가기</a>


<script>

window.addEventListener("beforeunload", function(event) {

  event.returnValue = "자주 놀러와 !!";

});

</script>


결과보기



찾아주셔서 감사합니다. Since 2012