window.opener가 null이나 undefined, 혹은 사용 권한이 없을 때
window.open
으로 열린 children window 에서 redirect가 일어나 도메인이 다른 링크로 이동하거나 프로토콜(HTTP, HTTPS)이 다른 경우 window.opener
가 null
혹은 undefined
이거나 IE 콘솔에서 사용 권한이 없습니다
라는 에러가 찍힐 때가 있습니다.
if(!window.opener){
window.opener = window.open('', parents window의 window.name);
}else{
window.opener = window.opener;
}
🤔 왜 이렇게 한 번 더 window.open()
을 해줘야하나요?
➡️ redirect가 일어나며 parents window의 window.opener
를 잃어버리니 window.opener가 존재하지 않을 시 window.open
으로 parents window를 한 번 열어줌으로써 window.opener
객체를 받아옵니다.
혹시 children window에 있는 값을 parent window로 전달해야한다면? 이 포스트를 참고하세요 :)
감사합니다 ㅠㅠㅠ 덕분에 해결했습니다.
크롬의 경우도 되고
제 pc IE11 에서도 되는데
유독 다른분 pc에서만 ie에서 안되서 포스팅 해주신 방법으로 해결했습니다.
감사합니다!!