반응형
사파리에선 승인을하지 않으면 팝업창이 띄어지지 않는다
이런오류를 해결하기 위해 window.open을 null 값으로 먼저 띄어놓고 async await 비동기 호출을 통해 axios 호출 이후 미리 띄어진 window창에 url을 넣어주는 방식을 사용했다.
// 팝업선언
let popup = window.open(
undefined,
"payment_pop",
"top=10,left=10,width=500,height=600,status=no,menubar=no,toolbar=no,resizable=no" //사이즈설정
);
// 비동기로 url 호출
const url = await axiosService
.post("post_url", params)
.then((res) => {
let url = "";
if (this.$isMobileDevice === true) {
url = res.data.mobile_url;
} else {
url = res.data.online_url;
}
return url;
})
.catch((err) => {
this.$store.commit("controller/setMsg", {
message: err.response.data.message,
type: "error",
});
});
// 팝업 url 선언
popup.location.href = url;
반응형
'쬬는 개발중' 카테고리의 다른 글
[javascript | Vue] 이미지 다운로드 기능 만들기 (canvas/url활용) (0) | 2022.12.02 |
---|---|
[javascript] 문자 /n 줄바꿈 변환작업 (1) | 2022.12.02 |
[javascript] youtube embed 소스 자동재생 모바일에서 안된다면 (autoplay 이슈해결) | mobile 자동재생 안됨 (0) | 2022.11.25 |
[javascript] 스크롤 내릴때 사라지고 올라갈때 나오는 검색바 만들기 (앱 호환) (0) | 2022.11.23 |
[css] input checkbox 스타일 설정하기 :has 부모요소 선택 (0) | 2022.11.22 |