2014. 9. 4. 14:38

전자정부 프레임워크 window.showModalDialog chrome 문제

역시 정부다...

대단한 akfjkajfljaslfjlsafj들이다...

어떤 분이 window.showModalDialog 에 대해서 크롬에서 안된다고 했는데 답변이 저ZR이다.


아래는 질문

=======================================================================================

안녕하세요.

아랫쪽에 글을 보니 window.쇼모달(영문) 과 관련한 답변을 보았습니다.

(크롬 지원 안함)


다음 컴포넌트 배포시 수정하여 배포하시겠다고 하셨는데요.

다음 컴포넌트 배포하기 전까지 우선 우회적으로 어떻게 해서 쓰라고 가이드를 하셔야 하는거 아닌가요?


다음 배포가 언제가 될지도 모르는거고 그때까지 이부분을 해결 못하는 사람들은 기다리고만 있어야 하는건가요?

무책임한 발언이라고 생각하지 않으십니까?

=======================================================================================

아래는 ZR답변

=======================================================================================

우선 사용에 불편을 드린 점 사과드립니다.


다만, 해당 부분은 현재 특정 브라우저 상의 문제로 저희가 책임져야할  내용은 아님을 이해하여 주십시오.

(공통컴포넌트 부분에 대해서는 전자정부 웹 표준 점근성에 따라 3종 이상 웹브라우저에서 정상 동작해야 하며, 

현재 IE, firefox, safari 등에서는 문제 없음) 


조치 방법은 금주 중으로 FAQ로 정리하여 올릴 예정이며,


실제 수정된 소스는 9월말 현재 진행 중인 보안점검 조치 부분과 함께 배포될 예정입니다.


불편하시더라고 인터넷 등을 통해 조치 방법을 참조하셔서 활용해 주십시오.


그럼, 즐거운 하루되십시오.

감사합니다.

=======================================================================================

볼드 처리한 부분 아주 이해 할 수 없음...

자기네들끼리의 사고방식임



이리하여 우선 수정을 했다.

내가 수정한 부분은 아주 문제가 많다.(예를들어 팝업에서 달력이라던지 아무튼 이래 저래 문제가 많다. 정답은 결코 아니며 우선 이 상황에 대해 도망(?)가는 상황에서 코딩을 한것이기에 똥줄 타거나 이렇게 해도 무방한 싸이트라면 우선 아래 처럼 바꾸기 바란다.

(내가 아래와 같이 바꾼 이유는 기존 소스에 영향이 없는 한도내에서 코딩을 하려다 보니 저리 되었다.)


1-1. EgovCalPopup.js

retVal = window.showModalDialog(url, varParam, openParam);

이 부분을 아래와 같이 수정한다.

retVal = window.open(url,"popwindow", "width=275, height=192, menubar=no,status=no,scrollbars=no,center=yes");

(옵션은 알아서 주기 바란다.)


1-2. 전역변수와 펑션 추가

같은 파일안에 아래 추가

var ssDate = "";

var vvDate = "";

같은 파일안에 아래 펑션 추가

function normalCalendarController(retVal) {    

if(retVal) {

ssDate.value = retVal.sDate;

vvDate.value = retVal.vDate;

}


2. EgovNormalCalendar.jsp

아래 값 넘겨주는 다른 부분 다 빼고 아래 추가

(parent.opener.parent).top._content.normalCalendarController(retVal);


위와 같이 허접하게 땜빵식으로 하면 된다.

우선 사용하는데는 문제가 없지만 여러가지 상황을 고려하지 않은 코딩이다.

내가 봤을때는 전자정부쪽에서도 해당 소스를 고치기 위해서는 달력을 호출하는 부분에서부터 다 싹다 뜯어 고쳐야 한다.



Trackback 0 Comment 2
  1. 석양의온도 2014.10.07 14:01 address edit & del reply

    감사합니다. 잘 참고하고 갑니다. 저도 비슷한 케이스가 있어서 욱했었네요.

    정부플젝이 있어서 참여했다가, 그쪽 api 신청해서 예제로 진행하려 했더니,
    버그가 있어서(제공 예제 파일 자체가 진행이 안되어.. )
    문제점 확인하여 전화해서 알려주고, 요거만 수정하시면 될거다.. 라고 했더니,
    자기들은 api만 제공하지, 그런 이야기 하는건 니가 처음이다.. 남들은 알아서 수정해서 쓰더라 라면서 비웃더군요.
    상황이 우습더군요, api나 준공식 가이드의 경우 파편화 방지를 위해서, 모두 좋자고 하는거 아닙니까. 근데 그 일 맡은 애들 사고방식이 글러먹었드라구요.

  2. 자바초보 2014.10.17 13:21 address edit & del reply

    감사합니다.
    저도 showModalDialog를 사용하니 크롬에서 팝업창이 뜨지않어 몇일 동안 삽질만하고있었는데 참고해서 갑니다^^