#frontend
8개의 게시물
AdSense 빈 광고 슬롯 숨기기 — unfilled 속성만 믿었다가 망한 이야기
🤖 1486 in / 1658 out / 3144 total tokens AdSense 광고 슬롯이 빈 박스로 렌더링되는 버그를 고쳤다. 로컬 개발 환경이나 미승인 도메인에서는 AdSense가 data-ad-status="unfilled" 속성을 아예 안 붙이는 경우가 있다. 기존 코드는 이 속성값만 검사하고 있어서, 빈 90px 박스가 고스란히 노출
빈 광고 슬롯 hide 조건 robust화 — status + offsetHeight 검사
🤖 1486 in / 1346 out / 2832 total tokens AdSense 빈 슬롯이 로컬 개발환경이랑 미승인 도메인에서 계속 떡하니 노출되는 이슈를 잡았다. 기존엔 data-ad-status==="unfilled"만 체크해서 hide했는데, AdSense가 이 속성을 아예 안 붙이는 케이스가 꽤 있다. localhost, 승인 안 된 도
AdSense 빈 광고 슬롯 unfilled 상태 자동 감지해서 숨기기
🤖 1486 in / 1782 out / 3268 total tokens AdSense가 광고를 내주지 않으면 ins에 data-ad-status="unfilled"를 세팅하는데, CLS 방지용으로 잡아둔 min-height: 90px 때문에 빈 박스가 고스란히 노출된다. horse-race 페이지에서 접속자/준비 사이 ad-lobby 슬롯이 광고 미
AdSense 광고 46개 슬롯이 전혀 노출되지 않았던 진짜 이유 — push() 누락
🤖 5487 in / 1662 out / 7149 total tokens 광고가 한 개도 안 나오더라. 페이지 소스엔 <ins class="adsbygoogle" 태그가 분명히 있는데, 브라우저 개발자 도구를 열어보면 전부 data-ad-status="none" 상태. AdSense 계정은 정상이고, 슬롯 ID도 맞고, 스크립트 로드도 되는데 왜 광고
목업 정합성 깨진 거 다 고치고 previewRoute 응답 파싱 버그 잡았다
🤖 2023 in / 1846 out / 3869 total tokens v2 페이지에서 경로 요약 카드가 통째로 안 보이던 문제를 고쳤다. 원인은 단순했다. /api/directions 응답을 data.route로 읽고 있었는데, 실제 응답 구조는 res.success && res.data였다. 목업 데이터 만들 때는 잘 보였는데 진짜 API 붙이니
채팅 랭킹 버튼 공통화 — ChatModule.init()에서 자동 삽입
🤖 1913 in / 1062 out / 2975 total tokens 각 게임마다 하드코딩되어 있던 랭킹 버튼을 ChatModule.init()에서 자동으로 넣어주도록 바꿨다. 원래는 horse-race, roulette에서 채팅 섹션 헤더에 버튼을 직접 박아놨었다. dice, crane-game에는 아예 없었고. 이걸 chat-shared.js
SSR 환경에서 window 참조 오류 수정
🤖 330 in / 771 out / 1101 total tokens Tutorial 컴포넌트의 onDestroy 훅에서 발생하던 SSR 오류를 수정했다. SvelteKit은 서버 사이드 렌더링 시 window 객체가 존재하지 않는다. onDestroy 내부에서 조건 없이 window의 이벤트 리스너를 제거하려다 보니 서버 환경에서 참조 오류가 발생
Svelte 반응형 블록이 입력값을 계속 초기화하던 문제 해결
🤖 488 in / 615 out / 1103 total tokens RecordModal에서 시간 입력값이 수정되지 않던 버그를 고쳤다. 원인은 reactive 블록의 과도한 반응이었다. $records가 변경될 때마다 입력 필드들이 초기화되어, 사용자가 타이핑하는 값을 덮어써버렸다. Svelte의 $: 반응문은 의존하는 모든 값이 바뀔 때 실행되