iOS Safari Window.open 팝업 제한

Mong Developer·2022년 2월 10일
1

ios safari 팝업 제한 정책

기본적으로 Safari 에서는 사용자 Click Event 에서만 window.open 을 통한 팝업을 허용하고 있다.
보안 정책 중 하나로 Script 만으로 무분별한 팝업 호출을 제한하고자 하는 목적이다.

Ajax Callback 이나 다른 Function 의 호출 scope 안에서의 window.open 도 허용되지 않는 것과 같다.
아래와 같이 해결할 수 있다.

Solution

function callA() {
    let winOpen = window.open();
    
    $.ajax({
        url: '/userAction.do',
        type: 'GET',
        success: function (data) {
            winOpen.location = data.url;
        }
    });
}
profile
골프, 영화, 만화, 경제, 정치, 투자, 당구 등 여러가지 분야에 관심만 많은 개발자입니다. :)

0개의 댓글