반응형
회사에서 근무 중에 javascript가 정상적으로 작동하지 않는 현상을 발견했다.
해당 현상은 chrome과 Edge에서 발생하였으며, 개발자도구를 켰을 땐 정상작동하고 껏을 땐 제대로 작동하지 않았다.
그리고 오류가 아닌 경고가 콘솔로그에 아래와 같이 나타났다.
A window.confirm() dialog generated by this page was suppressed because this page is not the active tab of the front window. Please make sure your dialogs are triggered by user interactions to avoid this situation.
페이지 구조는 부모페이지, 부모페이지로부터 호출한 팝업으로 구성되어 있으며, 팝업 페이지에서 부모 함수를 리콜하는 방식이었다.
부모 페이지 함수로 리콜된 후 리콜 함수에서 팝업을 닫기 전에 다른 함수를 호출하고 그 안에서 window.confirm 호출한다.
팝업을 닫기 전에 window.confirm 호출 - 이 부분이 오류 원인이다. 부모 페이지와 팝업 페이지 중 어디에 window.confirm을 할 지 몰라서 발생하는 오류로 추정 된다.
그리하여, 팝업을 닫은 후에 다른 함수를 호출하는 방식으로 로직을 변경하였더니 정상적으로 수행된다.
해결방법 : 부모페이지와 자식페이지 중 어디 window를 선택해야 하는 지 몰라 발생되는 오류로 추정되며, 팝업을 정리 후 호출하도록 로직을 수정하였다.
추가) 아래의 링크도 참고하면 좋을 것 같다.
https://hohoya33.tistory.com/153
반응형
'FE > Javascript' 카테고리의 다른 글
[Javascript] CRLF 치환하기(textarea 개행 시, 주의사항) (0) | 2022.05.18 |
---|---|
[Javascipt] 변수 선언 방식 (var, let, const) (0) | 2022.05.12 |
[Javascript] element 요소가 있는 지 확인 (0) | 2021.07.06 |
[Javascript] Select Option Value속성 말고 다른 속성 사용하기 (0) | 2021.06.19 |
[오류 해결]SCRIPT87:잘못된 인수입니다. (0) | 2021.05.14 |