DOM

settings_applicationsEventTarget  >   settings_applicationsWindow  >   settings_applicationswindow

DOM

Writing
  • bug_report

EventHandleronunload

현재 창(window)에 열린 웹 문서를 벗어나고자 할 때 발생한다.

insert_drive_fileEventinterfaceopen_in_new
Event interface의 unload 이벤트는 window의 onunload 핸들러에 의해 구현된다.

window의 onunload는(은) Event interface의 unload 이벤트 타입의 핸들러이고 이벤트 리스너로 사용된다.

기본 개요

문서나 하위 리소스가 언로드(unload)일 때 발생한다.

설명

unload 이벤트가 발생하는 시점

unload 이벤트는 다음의 이벤트 이후에 발생한다.

window, frame의 경우

  • 다른 페이지로 이동할 때
  • 창이 닫힐 때

리소스의 경우

웹 문서 내에서 사용중인 리소스가 제거되는 경우에 발생한다.

이슈

unload 이벤트가 발생하는 시점은 다음과 같은 특징이 있다.

  • 리소스에게 적용하는 경우에 이미지, IFrame 등 모든 리소스는 여전히 존재한다.
  • 창을 닫는 경우에 최종 사용자는 아무것도 볼 수 없다.
  • 창을 닫는 경우에 UI 상호 작용은 비효율적이다.
  • 오류가 발생해도 언로딩(unloading) 절차는 중단되지 않는다.

 

이 이벤트 타입은 다음과 같은 이유로 사용하지 않기를 권고하고 있다.

  • 웹브라우저 호환성 문제가 발생될 수 있다.
  • 모바일에서 불안정하게 동작할 수 있다.

대체

unload 이벤트를 감지하려는 경우 pagehide 이벤트가 가장 좋은 대안이다. 참고로 세션의 종료를 알리는 데 사용하는 가장 좋은 이벤트는 visibilitychange 이벤트이다.

구문

window.onunload = function() { };

명세

typeunload
handleronunload

지원 웹브라우저