> ## Documentation Index
> Fetch the complete documentation index at: https://daehan-base.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 팝업 팁

> Base Account 팝업 동작과 브라우저 이슈 대응 방법을 정리합니다.

## 개요

Base Account가 연결되고 Coinbase Wallet SDK가 요청을 받으면, [keys.coinbase.com](https://keys.coinbase.com/)을 팝업 창에서 열고 처리를 위해 요청을 팝업으로 전달합니다.
Base Account 팝업을 사용할 때 다음 사항을 염두에 두세요.

## 기본 차단 동작

* 대부분의 최신 브라우저는 클릭으로 트리거되지 않는 한 기본적으로 모든 팝업을 차단합니다.
* 팝업이 차단되면 브라우저가 사용자에게 알림을 표시하여 팝업 설정을 관리할 수 있게 합니다.

### 대처 방법

* 버튼 클릭과 Base Account 팝업을 여는 요청 사이에 추가 로직이 없도록 하세요.
  브라우저가 요청을 프로그래밍 방식으로 시작된 것으로 인식할 수 있습니다.
* 로직이 불가피한 경우 최소화하고 지원되는 모든 브라우저에서 철저히 테스트하세요.

## `Cross-Origin-Opener-Policy`

Base Account 팝업이 열리면서 오류 또는 무한 스피너가 표시되는 경우, dapp의 `Cross-Origin-Opener-Policy` 설정 때문일 수 있습니다. Base Account 팝업이 작동할 수 있도록 허용하는 지시문을 사용해야 합니다.

* ✅ Base Account 팝업 작동 허용
  * `unsafe-none` (기본값)
  * `same-origin-allow-popups` (권장)
* ❌ Base Account 팝업 중단
  * `same-origin`

자세한 내용은 [MDN 문서](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy)를 참고하세요.

## Base Account 팝업 '지연' 동작

* 때로는 dapp이 이전 요청의 응답을 기반으로 후속 요청을 프로그래밍 방식으로 수행할 수 있습니다.
  일반적으로 브라우저는 이러한 프로그래밍 방식의 팝업 열기 요청을 차단합니다.
* 이를 해결하기 위해, Base Account 팝업이 요청에 응답한 후 닫히기 전에 200ms 동안 대기하며 다른 수신 요청을 청취합니다.
  * 이 200ms 창 *내에* 요청이 수신되면 동일한 팝업 창 내에서 수신 및 처리됩니다.
  * 200ms 창 *이후* 팝업이 닫힌 뒤 요청이 수신되면 Base Account 팝업 열기가 브라우저에 의해 차단됩니다.
