popup창의 depth가 3단계이고, 최상단의(프레림에 상관없이)페이지에
login.jsp를 출력하는 경우
if (needToLogin) {
out.println(
"<script language='javascript'>" +
"if(parent.opener == null || parent.opener == 'undefined') {"+
//" alert('parent.opener설정안됨');"+
// popup창이 현재 하나도 없으므로 현재 화면에 login.jsp페이지 출력
" parent.top.location.href='/login.jsp?goPage=" +goPage+"';"+
"} else if(parent.opener != null && parent.opener != 'undefined') {"+
//" alert('parent.opener설정됨');"+
// opener가 있는 경우만 내부의 opener를 체크해야 에러발생하지 않음
// popup창이 1개 확인 됬으므로 내부의 2번째 창이 있는지 확인
" if(parent.opener.opener == null || parent.opener.opener == 'undefined') {"+
// " alert('parent.opener.opener설정안됨');"+
// popup창이 현재 1개 이므로 opener화면에 login.jsp페이지 출력
" parent.opener.top.location.href='/login.jsp?goPage=" +goPage+"';"+
" window.top.close(); " +
// 현재창 닫기
" } else if(parent.opener.opener != null && parent.opener.opener != 'undefined'){"+
//" alert('parent.opener.opener설정됨');"+
// opener.opener가 있는 경우만 내부의 opener를 체크해야 에러발생하지 않음
// popup창이 2개 확인 됬으므로 내부의 3번째 창이 있는지 확인
" if(parent.opener.opener.opener == null || parent.opener.opener.opener == 'undefined') {"+
//" alert('parent.opener.opener.opener설정안됨');"+
// popup창이 현재 2개 이므로 opener.opener화면에 login.jsp페이지 출력
" parent.opener.opener.top.location.href='/login.jsp?goPage=" +goPage+"';"+
" parent.opener.close(); " + // 부모창닫기(1단계)
" window.top.close(); " + // 현재창 닫기
" } else if(parent.opener.opener.opener != null && parent.opener.opener.opener != 'undefined') {"+
//" alert('parent.opener.opener.opener설정됨');"+
// popup창이 현재 3개 이므로 opener.opener.opener화면에 login.jsp페이지 출력
" parent.opener.opener.opener.top.location.href='/login.jsp?goPage=" +goPage+"';"+
" parent.opener.opener.close(); " + // 부모창닫기(2단계)
" parent.opener.close(); " + // 부모창닫기(1단계)
" window.top.close(); " + // 현재창 닫기
" }"+
" }"+
"}"+
"</script>");
} else {
// 통과
}
login.jsp를 출력하는 경우
if (needToLogin) {
out.println(
"<script language='javascript'>" +
"if(parent.opener == null || parent.opener == 'undefined') {"+
//" alert('parent.opener설정안됨');"+
// popup창이 현재 하나도 없으므로 현재 화면에 login.jsp페이지 출력
" parent.top.location.href='/login.jsp?goPage=" +goPage+"';"+
"} else if(parent.opener != null && parent.opener != 'undefined') {"+
//" alert('parent.opener설정됨');"+
// opener가 있는 경우만 내부의 opener를 체크해야 에러발생하지 않음
// popup창이 1개 확인 됬으므로 내부의 2번째 창이 있는지 확인
" if(parent.opener.opener == null || parent.opener.opener == 'undefined') {"+
// " alert('parent.opener.opener설정안됨');"+
// popup창이 현재 1개 이므로 opener화면에 login.jsp페이지 출력
" parent.opener.top.location.href='/login.jsp?goPage=" +goPage+"';"+
" window.top.close(); " +
// 현재창 닫기
" } else if(parent.opener.opener != null && parent.opener.opener != 'undefined'){"+
//" alert('parent.opener.opener설정됨');"+
// opener.opener가 있는 경우만 내부의 opener를 체크해야 에러발생하지 않음
// popup창이 2개 확인 됬으므로 내부의 3번째 창이 있는지 확인
" if(parent.opener.opener.opener == null || parent.opener.opener.opener == 'undefined') {"+
//" alert('parent.opener.opener.opener설정안됨');"+
// popup창이 현재 2개 이므로 opener.opener화면에 login.jsp페이지 출력
" parent.opener.opener.top.location.href='/login.jsp?goPage=" +goPage+"';"+
" parent.opener.close(); " + // 부모창닫기(1단계)
" window.top.close(); " + // 현재창 닫기
" } else if(parent.opener.opener.opener != null && parent.opener.opener.opener != 'undefined') {"+
//" alert('parent.opener.opener.opener설정됨');"+
// popup창이 현재 3개 이므로 opener.opener.opener화면에 login.jsp페이지 출력
" parent.opener.opener.opener.top.location.href='/login.jsp?goPage=" +goPage+"';"+
" parent.opener.opener.close(); " + // 부모창닫기(2단계)
" parent.opener.close(); " + // 부모창닫기(1단계)
" window.top.close(); " + // 현재창 닫기
" }"+
" }"+
"}"+
"</script>");
} else {
// 통과
}
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
38 | orion와 eclipse을 이용하여 EJB개발시 참고(내부개발용) | 박상현 | 2004.06.22 | 2442 |
37 | 주소 감추기 | 박상현 | 2004.06.13 | 1955 |
36 | javascript: event,this는 사용할 수 없습니다 | 박상현 | 2004.06.13 | 1765 |
35 | 점선없애기 | 박상현 | 2004.06.13 | 1973 |
34 | <table></table>을 스크롤 시키기 | 박상현 | 2004.04.09 | 1758 |
33 | td및 tr의 위치 알아내기 | 박상현 | 2004.01.31 | 2751 |
32 | 자바스크립트 펑션 및 변수 공유 | 박상현 | 2004.01.07 | 2337 |
31 | 스크롤바를 따라다니는 메뉴판 | 박상현 | 2003.12.04 | 1575 |
30 | 스크롤바를 따라다니는 이미지 | 박상현 | 2003.12.04 | 1684 |
29 | 이벤트 종류알기 및 좌표 읽기 | 박상현 | 2003.12.03 | 1989 |
28 | 문서크기에 맞게 아이프레임폭 자동으로 조정하기 | 박상현 | 2003.11.17 | 1928 |
27 | 목록에서 선택된 라인에만 색칠하고 다른것은 이전색으로 변경하기 | 박상현 | 2003.11.13 | 1705 |
26 | 목록에서 다중 선택된 항목을 표시(특정색상)하고 체크박스를 선택해주는 스크립트 | 박상현 | 2003.11.07 | 2837 |
25 | 여러가지의 색으로 롤오버 효과및 항목을 선택시 선택된 색을 고정시키는 예제 | 박상현 | 2003.11.07 | 2212 |
24 | 쇼핑몰에 포함될 기능(참고) | 박상현 | 2003.11.06 | 1624 |
23 | 한글처리 방법/절차 이해 | 박상현 | 2003.10.20 | 1930 |
22 | event.keyCode의 숫자표 | 박상현 | 2003.10.20 | 1863 |
» | jsp페이지에서 popup창의 depth에 따른 메인 복귀 방법 달리하기... | 박상현 | 2003.10.14 | 3496 |
20 | 배포하기(Cab 파일 작성법) | 박상현 | 2003.10.13 | 2580 |
19 | 정수값을 3자리수마다 컴마를 찍기 | 박상현 | 2003.10.13 | 2177 |