테마
bm.onDestroy
- 블록이 제거될 때(페이지 이동이나 DOM 제거 등) 실행되는 콜백 함수를 정의할 수 있어요.
- 블록이 사라진 후에도 계속 실행되는 코드가 있으면 브라우저에 성능 문제가 생길 수 있어서, 정리(Cleanup) 작업이 필요한 경우 유용해요.
setInterval(...),setTimeout(...)등으로 설정한 타이머 해제addEventListener(...),removeEventListener(...)등으로 등록한 DOM 이벤트 리스너 정리MutationObserver,IntersectionObserver등의 옵저버 해제- 외부 상태나 리소스를 참조하는 전역 변수 또는 캐시 초기화
html
<script>
// 1초마다 메시지를 출력하는 타이머 설정
const interval = setInterval(() => {
console.log('⏱️ 블록이 아직 페이지에 있어요! (1초마다 동작 중)');
}, 1000);
// 블록이 제거될 때 타이머를 정리
bm.onDestroy = () => {
console.log('🧹 블록이 사라져서 타이머를 멈췄어요!');
clearInterval(interval);
};
</script>