onbeforeunload 속성

정의

beforeunload 이벤트는 브라우저에서 페이지를 끝낼 때 발생합니다.

  • 창을 닫을 때
  • 링크를 눌러 다른 페이지로 이동할 때
  • document.write() 메서드가 실행될 때

등의 상황입니다.

  <script type="text/javascript">
    function doSomething() {
      //페이지를 끝낼 때 하고 싶은 것을 지정합니다.
    }
  </script>
</head>
<body onbeforeunload="doSomething()">
  ...
</body>

또는,

  ...
  <script type="text/javascript">
    function doSomething() {
      //페이지를 끝낼 때 하고 싶은 것을 지정합니다.
    }

    window.onbeforeunload = doSomething;
  </script>
</body>

와 같이 만듭니다.

발생 가능한 요소

이 이벤트는 window 객체의 메서드입니다.

상세

이 이벤트는 인터넷 익스플로러 5 버전부터 지원했으며, W3C의 HTML 4.01 명세까지는 표준에 등록되지 않았었습니다.

이 이벤트는 사용자에게 불편함을 주는 경우가 많았습니다. 이를 테면, 페이지를 닫으려 할 때 광고창을 띄운다거나, 무한 팝업으로 사용자를 당혹하게 만드는 등입니다.

더 좋은 사용자 경험, 또는 사용자에게 불편이나 수고를 끼치지 않으면서도 사이트에 유용하도록 이 이벤트를 활용할 수 있을 것입니다. 예를 들어:

  • 보안이 중요한 사이트에서, 사용자가 페이지를 이동할 때 자동으로 로그아웃하면서 세션데이터와 캐시 등을 삭제하는 용도.
  • 복잡한 폼을 작성해야 하는 페이지에서, 사용자가 실수로 페이지를 닫을 때 작성내용을 서버에 임시로 저장해서 다시 로그인하면 채워 주는 용도.

그동안 표준에 포함되지 않았기 때문에 모범사례라고 할 만한 것은 많지 않습니다. 여러분이 좋은 활용법을 창안하고 공유해 주시길 기대합니다.

참조

기준 명세를 바탕으로 명세 번역과 레퍼런스 제작이 이루어졌습니다. 최근 내용은 최신 명세를 확인해 주세요.

 
html5/event/onbeforeunload.txt · 마지막 수정: 2013/11/19 13:35 (외부 편집기)
이 레퍼런스는 클리어보스가 제작/운영하고 있으며, 다음의 라이센스를 따릅니다 :CC 저작자표시-비영리-동일조건변경허락 2.0
Recent changes RSS feed World Wide Web Consortium Driven by DokuWiki