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>
결과보기