yeahzy
주말에 몰아쓰는 개발일기
yeahzy
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • 주말에 쓰는 개발일기 (20)
      • javascript (10)
      • java (1)
      • react-native (5)
      • react (2)
    • 모든 일은 평일에 이루어지지 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javascript
  • Ajax
  • event.stopPropagation()
  • window.opener
  • 크롬개발자도구오류
  • showModalDialog.js
  • event.preventDefault()
  • javascript opener오류
  • 신입개발자로드맵
  • opener 안될 때
  • next.js기초
  • 크롬 opener
  • 개발자역량강화로드맵
  • showModalDialog
  • Java
  • 파일업로드
  • fileupload
  • popup에서 부모창 함수 호출
  • 프론트엔드로드맵
  • popup opener

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
yeahzy

주말에 몰아쓰는 개발일기

주말에 쓰는 개발일기/javascript

오류 : Uncaught TypeError: window.showModalDialog is not a function

2021. 12. 1. 16:51

IE 위주로 개발되었던 프로젝트에서 크롬에 맞도록 수정하는 과정에서 일어난 에러이다.

IE에서는 Modal 이라는 개념으로 팝업을 띄우게 되어있으나, 크롬에서는 새창의 팝업을 뜨게 되어있다.

Modal의 경우 showModalDialog를 이용하여 팝업과 부모창 사이 데이터 이동을 하였으나,

새창으로 뜨는 크롬의 경우 해당 방법으로는 데이터 이동이 불가능하다.

 

너무 많은 소스가 showModalDialog로 작성되어있어, 사용할 수 있는 라이브러리를 찾았고,

전자정부프레임워크에서 js를 찾게 되었다. 

 

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:com:v3:cmm:showmodaldialog 

 

egovframework:com:v3:cmm:showmodaldialog [eGovFrame]

JavaScript의 Modal 방식의 dialog를 지원하는 windows.showModalDialog의 기능이 chrome 37 버전부터 지원하지 않음에 따라 대체 기능을 제공한다. showModalDialog 대체 기능은 기존 showModalDialog 함수를 그대로 사용

www.egovframe.go.kr

 

우리에게 필요한건 showModalDialog.js 였고, 팝업을 띄우는 부모창에 import 해주었다.

그리고 자식창에서 window.dialogArguments 를 실행하는 소스 위에 getDialogArguments() 를 실행하도록 했다.

 

//팝업을 띄우는 부모창
<script type="text/javascript" src="/js/lib/showModalDialog.js" ></script>

//팝업창
getDialogArguments();
var param = window.dialogArguments;

 

모달창을 띄우는 소스는 중요하지 않다 생각하여 생략한다.

'주말에 쓰는 개발일기 > javascript' 카테고리의 다른 글

함수형 프로그래밍(Functional Programming)  (0) 2022.09.07
[Javascript] 이벤트 버블링과 이벤트 캡쳐링  (0) 2022.04.28
크롬에서 opener의 함수호출 오류 (개발자도구를 켜야 작동할 경우)  (0) 2021.11.16
chrome 80 samesite 정책 (크롬 / 엣지 결제모듈 인증모듈 사용 후 세션 유실)  (1) 2021.01.08
ArrayList 함수 clear() UnsupportedOperationException 에러.  (0) 2021.01.08
    '주말에 쓰는 개발일기/javascript' 카테고리의 다른 글
    • 함수형 프로그래밍(Functional Programming)
    • [Javascript] 이벤트 버블링과 이벤트 캡쳐링
    • 크롬에서 opener의 함수호출 오류 (개발자도구를 켜야 작동할 경우)
    • chrome 80 samesite 정책 (크롬 / 엣지 결제모듈 인증모듈 사용 후 세션 유실)
    yeahzy
    yeahzy
    주말에 몰아 쓰려고 만들었는데 생각보다 주말은 빠르다..

    티스토리툴바