반응형
크롬이나 익스(엣지)등 버전등에서 팝업창에서 부모창의 함수를 호출할때 소스가 실행이 되지 않는 오류에 대해서 알아보려고 합니다.
해당경우 브라우저 문제 같기는 한데, 개발자 도구를 작동 시키면 또 소스가 제대로 동작하는 현상이였습니다.
다행이 구글링 끝에 해결 방법을 찾아냈습니다.
<문제 소스>
팝업창
<script> function testa(){ opener.doCancle(); //부모창 함수 호출 } </script> |
부모창
<script> function doCancle(){ if(comfirm("테스트 하시겠습니까?"){ //실행 로직 } } </script> |
위와 같은 소스 를 사용할 경우 소스 실행이 되지 않고 브라우저 consol 창에 아래 메세지가 표시되었습니다.
알고 보니, 부모창에서 confirm() 을 사용할 경우 발생하는 문제로 확인 되었습니다.
그래서 결국 해결책은 confrim 창을 팝업창으로 옮긴 후 호출 하니 문제가 해결 되었습니다.
<해결 소스>
팝업창
<script> function testa(){ if(comfirm("테스트 하시겠습니까?"){ opener.doCancle(); //부모창 함수 호출 } } </script> |
부모창
<script> function doCancle(){ //실행로직 } </script> |
개발 하시다가 위와 같은 오류가 나오면 참고 하시면 좋을 것 같습니다.
반응형
'IT > JAVA' 카테고리의 다른 글
JAVA 또는 JAVASCRIPT 첨부 파일 회전 시킨 후 다시 저장하는 방법 (0) | 2023.07.04 |
---|---|
java eclipse 디버깅 하는 방법 (0) | 2023.06.29 |
java util map replace (key, value) 값 변경 (0) | 2023.06.23 |
JAVA SMTP MAIL getInstance 와 getdefaultinstance 차이 (0) | 2023.06.20 |
JAVA STMP 를 활용 하여 MAIL 보내는 방법 (0) | 2023.06.20 |