목록 보기
클릭했는데 새 창이 안 열려요? – 실전 팝업 차단 이슈 해결기
프론트엔드

클릭했는데 새 창이 안 열려요? – 실전 팝업 차단 이슈 해결기

데보션
데보션
2025년 6월 30일

두줄요약

iOS Safari에서 일부 새 창 열기 동작이 팝업 차단 정책으로 막힌 원인을 분석하고 해결했습니다. 빈 창을 먼저 열고 이후 URL을 지정하는 방식으로 기능과 사용자 경험을 개선했습니다.

문제 상황

  • iOS Safari의 일부 기기와 특정 페이지에서 window.open() 새 창 열기 실패
  • Android, 데스크탑, 다른 iOS 기기에서는 정상 동작하는 한정적 재현 이슈

원인 분석

  • Safari의 팝업 차단 정책에 따른 사용자 상호작용과 팝업 생성 시점의 엄격한 판단
  • 버튼 클릭 후 API 응답을 기다린 뒤 새 창을 여는 구조가 차단 조건에 해당

해결 방법

  • 클릭 시점에 빈 새 창을 먼저 열고 API 응답 후 location.href로 목적지 지정
  • 직접 클릭이 아닌 히든 버튼 트리거 시도는 동일하게 차단

주의할 점

  • 팝업 차단 정책 우회가 아니라 정책을 만족하는 흐름으로 설계 필요
  • 빈 창 노출을 줄이기 위한 로딩 페이지 보완 필요

적용해볼 점

  • 사용자 기기와 브라우저별 예외 정책을 고려한 플로우 설계
  • 비동기 처리와 새 창 열기 사이의 타이밍 검증

다음 읽기

#iOS 주제를 다룬 다른 회사 글

채널톡 iOS26 대응기

iOS26의 Safari 주소창 변경으로 채널톡 메신저 하단에 사이트가 노출되는 문제를 대응했습니다. CSS 한계와 스크롤 이슈를 거쳐 동적 커버 방식으로 채팅 경험을 개선했습니다.

채널톡
채널톡
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...