bfcache 복원 시 모달이 열린 채 남아 화면을 덮는 문제를 고친다.
- 전체화면 모달/팝업(.fixed.inset-0[id$=-modal|-popup])이 열린 상태로 bfcache(뒤로가기/탭 복귀)에 저장·복원되면 회색 레이어가 클릭을 막던 문제 - pagehide(이탈 시)·pageshow(복원 시) 에서 해당 오버레이를 강제로 닫고 body 스크롤 잠금 해제 - portal·admin·main 레이아웃에 공통 적용(모든 페이지 커버) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -181,5 +181,18 @@ body { overflow: hidden; }
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function () {
|
||||
// bfcache 복원 시 열린 채 남은 모달/팝업으로 회색 레이어가 클릭을 막는 문제 방지
|
||||
function closeStuckOverlays() {
|
||||
document.querySelectorAll('.fixed.inset-0[id$="-modal"], .fixed.inset-0[id$="-popup"]').forEach(function (el) {
|
||||
el.classList.add('hidden'); el.setAttribute('aria-hidden', 'true');
|
||||
});
|
||||
document.body.style.overflow = '';
|
||||
}
|
||||
window.addEventListener('pageshow', function (e) { if (e.persisted) closeStuckOverlays(); });
|
||||
window.addEventListener('pagehide', closeStuckOverlays);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user