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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
18 | 스크롤바를 따라다니는 메뉴판 | 박상현 | 2003.12.04 | 1575 |
17 | 스크롤바를 따라다니는 이미지 | 박상현 | 2003.12.04 | 1684 |
16 | 이벤트 종류알기 및 좌표 읽기 | 박상현 | 2003.12.03 | 1989 |
15 | 문서크기에 맞게 아이프레임폭 자동으로 조정하기 | 박상현 | 2003.11.17 | 1928 |
14 | 목록에서 선택된 라인에만 색칠하고 다른것은 이전색으로 변경하기 | 박상현 | 2003.11.13 | 1705 |
13 | 목록에서 다중 선택된 항목을 표시(특정색상)하고 체크박스를 선택해주는 스크립트 | 박상현 | 2003.11.07 | 2837 |
12 | 여러가지의 색으로 롤오버 효과및 항목을 선택시 선택된 색을 고정시키는 예제 | 박상현 | 2003.11.07 | 2212 |
11 | event.keyCode의 숫자표 | 박상현 | 2003.10.20 | 1863 |
» | jsp페이지에서 popup창의 depth에 따른 메인 복귀 방법 달리하기... | 박상현 | 2003.10.14 | 3496 |
9 | 색상표 | 박상현 | 2003.10.10 | 1771 |
8 | [javascript]textarea의 내용을 클립보드에 담아 처리하기 | 박상현 | 2003.10.09 | 3679 |
7 | 자바스크립트사용시 주의점 | 운영자 | 2003.10.06 | 1899 |
6 | excel로 자료 출력 | 운영자 | 2003.10.06 | 2387 |
5 | 테두리및 가로줄, 세로줄이 1px인 테이블 만들기 | 운영자 | 2003.10.01 | 2531 |
4 | table 외곽에 테두리만 1pixel로 만들기 | 운영자 | 2003.10.01 | 2249 |
3 | BB설명 | 운영자 | 2003.09.26 | 2159 |
2 | 창닫기 전에 물어보기 | 운영자 | 2003.09.26 | 2574 |
1 | popup창 띄우는 4가지 방법 | 운영자 | 2003.09.24 | 4004 |