Program/javascript

사파리 window.open 사용 불가

soccerda 2024. 8. 22. 16:02
반응형

하이브리드 앱에서 창을 띄우려고 사용했는데 안드로이드에서는 정상 작동하지만

 

IOS에서는 작동이 안 된다..

 

예를 들어 특정 버튼을 클릭했을 경우 https://naver.com 띄우기

 

function fn_click() {

   window.open("https://naver.com");

}

 

<button type="text" onclick:"javascript:fn_clcik();">

 

 

이렇게 하면 안드로이드는 계열은 정상작동한다.. 다만 아이폰에서는 작동을.. 아무런 이벤트가 작동하지 않는다. 

 

원인은 click 이후 1000ms 이후 발생하는 window.open 메소드에 대해서 팝업 차단이 된다는 것이다.

 

크롬은 5000ms 로 훨씬 넉넉해 이상 없이 작동한다.

 

내가 해결한 방법은

 

으로 버튼을 클릭한 형태로 구현을 하였다.. 

function fn_click() {

    var url= "https://naver.com";
    var a = document.createElement('a');
    a.href = url ;
    a.target = '_blank';
    a.click();

}

반응형