트러스트 폼 에서 발생 했으나 자바스크립트 로직상 일반 html 에서도 동일한 증상이 일어 날것으로 예상. 


문제 발생 멀쩡 하게 사용 하던 팝업창 에서 

자식창 데이터 클릭 -> 부모창에 데이터 전송 과정에서 exception 처리로 인한 오류 발생


기존 opener  호출 함수. 

function doFg1DblClick(){

if(!fGridReturn("fg1")) return;

var obj = doc.addGrid("fg1").getRowObj(fg1.row);   // 선택된 그리드의 데이터를 OBJECT 로 변환 하는 함수.

try{

opener.javascript.popNrnd(obj);              // 부모창의 함수를 호출

}catch(exception){

alert(exceptioni);

}

window.close();

}


alert 창으로 아래와 같은 오류를 출력. 하지만 데이터는 이상없이 부모창으로 insert 처리 됨. ( 메시지내용은 실제론 단순 alert 이 아님으로 아래와 같이 캡쳐됨)





해당과 같은 오류의 상세 내역을 확인 하기 위해 exception 내용을 상세 하게 확인 할수 있는 추가 구현. 


기존 alert(exception); ====>을 


var output = '';

for (var i in exception) {

output += i + ' : ' + exception[i] + '\n';

}

alert(output);

으로 변경 





더 알수가 없게 되었다.. (하지만 해당 구문은 자바스크립트 오류 확인시  많은 도움이 될것 같다.)

해당과 관련 미친듯이 google 을 찾아본 결과 opener 함수 내에서 실행되는 함수 중에 구현 되지 않은 함수가 있는 경우 스크립트 오류가 아닌

object 오류나 syntax 오류로 표기 될수 있다는 글을 확인 했고 

자식창및 부모창을 번갈아 가며 다른 파일로 호출 테스트 해 본 결과 자식창이 아닌 부모창에 문제가 있다는 것을 확인


확인해본 결과 함수 호출 과정에서 기존에 사용 하던 js 파일을 제거 하고 해당 기능과 관련된 공통 기능 js 파일을 스크립트 하는 과정에서 실제 사용 한 

함수를 누락 하게 되어 발생 한 문제 였다. 


부모창 의 함수  (자식창에서 opener 로 호출 하는)

function popNrnd(obj){

fg1.valueMatrix(fg1.row, fg1.colRef("MNS_PROJ_CD_YN")) = "Y";

fg1.valueMatrix(fg1.row, fg1.colRef("RESPERSONNO")) = obj.RESPERSONNO; //부처사업코드

fg1.valueMatrix(fg1.row, fg1.colRef("PRJNAME")) = obj.PRJNAME; //부처과제명

fg1.valueMatrix(fg1.row, fg1.colRef("MNS_PROJ_CD")) = obj.PRJNO; //협약일련번호

fSetFlag("fg1",fg1.row);     //  <== 문제를 발생 시킨 누락 함수. 

model.refresh();

}


위와 같이 지역함수 안에 구현된 function 의 경우 호출 대상이 자신(부모)인 경우에는 function  누락 으로 인한 스크립트 오류가 발생 하지만 

자신이 아닌 자식창에서 호출할 경우 제대로 스크립트 오류가 발생 하지 않는 상태로 exception 처리 됨을 확인 할수 있었다. 












Posted by 사라링

BLOG main image
.. by 사라링

카테고리

사라링님의 노트 (301)
JSP (31)
J-Query (41)
JAVA (24)
VM-WARE (0)
디자인패턴 (1)
스크랩 (0)
스트러츠 (3)
안드로이드 (11)
오라클 (45)
우분투-오라클 (1)
이클립스메뉴얼 (6)
스프링3.0 (23)
자바스크립트 (10)
HTML5.0 (17)
정보처리기사 (1)
기타(컴퓨터 관련) (1)
문제점 해결 (3)
프로젝트 (2)
AJAX (4)
하이버네이트 (3)
트러스트폼 (11)
Jeus (2)
재무관리(회계) (5)
정규식 (5)
아이바티스 (8)
취미 (2)
소프트웨어 보안 관련모음 (0)
정보보안기사 (6)
C언어 베이직 및 프로그램 (3)
보안 관련 용어 정리 (2)
넥사크로 (6)
Total :
Today : Yesterday :