• 회원가입
  • 로그인
  • 구글아이디로 로그인

[attribute] HTML - onbeforeunload 속성 - 사용자가 웹페이지 떠날 때 떠나기 전 실행 (= onbeforeunload속성 = 온비포어언로드속성) ※ onbeforeunload이벤트 = 온비포어언로드이벤트 ※ 사용자 웹페이지 이탈 여부 확인창

목차
  1. onbeforeunload 예제 - 사용자가 웹페이지 닫고 떠날 때 떠나기 전 실행
  2. onbeforeunload 정의
  3. onbeforeunload 구문
  4. onbeforeunload 예제 - cf. onunload 속성
  5. onbeforeunload 예제 - 현재창과 새창으로 각각 다른 페이지 열기

 

onbeforeunload 예제 - 사용자가 웹페이지 닫고 떠날 때 떠나기 전 실행

 

<!DOCTYPE html>

<html>

<body onbeforeunload="return homzzang()">

 

<a href="https://homzzang.com">홈짱닷컴 (Homzzang.com)</a>

 

<script>

function homzzang() {

  return "다음에 또 와!!";

}

</script>


</body>

</html>

 

 

onbeforeunload 정의

 

사용자가 웹페이지 닫고 떠날 때 떠나기 전 실행. (떠날지 여부 확인할 때 주로 사용.)

 


 

1. onbeforeunload 속성 사용 가능 태그 종류

<body>

 

2. 

  • 이 이벤트 사용해, 페이지 아틸 확인 대화상자 알람창 띄우기 가능.
  • 확인 대화상자 메시지는 브라우저마다 다름. (보통,  "이 페이지에서 나가시겠습니까?"와 같은 것임. 이 메시지는 제거할 수 없음.)
  • 기본 메시지와 함께 사용자 지정 메시지 작성 가능하나, 브라우저(예: Chrome/Firefox)에 따라 무시하기도 함.

 

3. (onbeforeunload / onunload) 차이점 - (목적/발생시기) 차이남

  • onbeforeunload 이벤트는 사용자가 return 문 사용해 사용자가 페이지를 떠날 수 있는지 여부 결정하고, 떠나기 전 추가 작업 가능케하는데 초점.
  • onunload 이벤트는 페이지 닫을 때 추가 작업 수행에 초점. (단,  alert()이나 window.open() 사용은 권장 X)

 

4.

모든 브라우저 지원.

 

 

onbeforeunload 구문

 

HTML 방식

  • <element onbeforeunload="myScript">

 

JS 방식 (3가지)

  • object.onbeforeunload = ()=>{myScript};
  • object.onbeforeunload = function(){myScript};
  • object.addEventListener("beforeunload", myScript);



[속성값]

 

myScript

사용자가 웹페이지 닫고 떠날 때 떠나기 전, 실행할 JS 코드

  • 주의: 함수명 사용 시, 다른 곳은 전부 소괄호까지 사용해 함수 호출하나 핑크색 myScript 자리는 "함수명만" 사용해 함수 호출.
  • 사용 방식 통일 권장.

 

 

onbeforeunload 예제 - cf. onunload 속성

 

<script>

window.onbeforeunload = function() {

    return "진짜 떠날 겨?"; // 브라우저에 따라 실행 안 되기도...

};


window.onunload = function() {

    console.log("페이지 닫힘"); // F5 새로고침 시 잠시 실행됨.

    alert("페이지 닫힘."); // 작동 X

    window.open("https://google.com", "_blank"); // 작동 X

};

</script>

 

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

 

 

onbeforeunload 예제 - 현재창과 새창으로 각각 다른 페이지 열기

[주의] - unload 이벤트 대신, onclick 이벤트 사용해야 둘 다 열림.

 

<script>

window.onbeforeunload = function() {

    var confirmaMsg = "페이지 진짜 떠날꺼야?";

    return confirmMsg;

};


function openNaver() {

    window.open("https://naver.com", "_blank");

}

</script>


<a href="https://homzzang.com" onclick="openNaver()">Homzzang.com 방문</a>

 

결과보기



분류 제목
attribute HTML - onplaying 속성 - (오디오/비디오) 재생 중 실행 (= onplaying속성 = 온플레…
attribute HTML - onsubmit 속성 ★ - 폼데이터 제출 시 실행 (= onsubmit속성 = 온서브미트속성/…
attribute HTML - title 속성 ★ - 요소애 대한 추가 정보 지정 (= title속성 = 타이틀속성)
attribute HTML - enctype 속성 - 폼데이터 인코딩방식 지정 (= enctype속성 = 인크타입속성/잉크타입…
attribute HTML - ondragleave 속성 - 드래그 한 요소가 드롭박스 이탈 시 실행 (= ondragleav…
attribute HTML - ononline 속성 - 브라우저가 온라인으로 작동할 때 실행 (= ononline속성 = 온온…
attribute HTML - onseeked 속성 - (오디오/비디오) 재생위치 변경 종료 시, 실행할 코드 지정. (= o…
form HTML - <input type="radio"> 태그 - 오직 1개의 요소만 선택 (= 인풋라디오타입/라디…
attribute HTML - onemptied 속성 - 미디어 소스가 비어있거나 삭제된 경우에 실행 (= onemptied속…
attribute HTML - src 속성 ★ - 외부 리소스 URL주소 지정 (= src속성 = 에스알시속성/에스알씨속성/소…
attribute HTML - cellspacing 속성 - 테이블셀간의 간격 지정 (= cellspacing속성 = 셀스페이…
attribute HTML - onabort 속성 - 미디어 파일 로드 중단 이벤트 발생 시 실행할 코드 정의 (= onabo…
attribute HTML - srclang 속성 - 트랙태그 소스의 언어코드 지정 (= srclang속성 = 에스알시랭속성/…
attribute HTML - onpageshow 속성 - 사용자가 웹페이지 탐색 시 실행 (= onpageshow속성 = 온…
form HTML - <input type="hidden"> 태그 - 숨겨진 입력 필드 지정 (= 사용자 몰래 입력값…
attribute HTML - form 속성 - 해당 요소가 속하는 폼요소 지정 (= form속성 = 폼속성) ※ 폼 밖에 위…
attribute HTML - label 속성 - 요소에 대한 꼬리표 지정 (= label속성 = 레이블속성/라벨속성)
attribute HTML - headers 속성 - 관련된 헤더셀ID 목록 지정 (= headers속성 = 헤더스속성/헤더즈…
attribute HTML - onstalled 속성 - (오디오/비디오) 이용불가 (=사용불가) 시 실행 (= onstall…
form HTML - <input type="number"> 태그 - 숫자 입력 (= 인풋넘버타이/넘버타입인풋/넘버인…
2/18
목록
찾아주셔서 감사합니다. Since 2012