사파리 팝업차단 우회하기

사파리는 비동기 콜 안에서 window.open으로 연 팝업을 차단합니다. (크롬은 ㄱㅊ)

1.빈 팝업을 열고
2.필요한 비동기콜을 한 후
3.팝업 url을 바꿔주세요.

2와 1이 바뀌어도 차단되는걸 유념해주세요.

차단 예시: 비동기 콜 안에서 팝업 열기

fetchCat("야옹").then(url => {
  var popup = window.open(
    url,
    "cert",
    "top=10, left=10, width=500, height=600, status=no, menubar=no, toolbar=no, resizable=no"
  )
})
const url = await fetchCat("야옹")
var popup = window.open(
  url,
  "cert",
  "top=10, left=10, width=500, height=600, status=no, menubar=no, toolbar=no, resizable=no"
)

성공 예시: 비동기 콜 전에 팝업 열고 이후에 url 할당

var popup = window.open(
  undefined,
  "cert",
  "top=10, left=10, width=500, height=600, status=no, menubar=no, toolbar=no, resizable=no"
)
const url = await fetchCat("야옹")
popup.location.href = url

Profile picture

진유림 a.k.a 테니스치다 손목 삔, 풋살하다 인대 나간 개발자 twitter

With love, Yurim Jin