Skip to content

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>

Sixshop Developers Portal