jquery 를 분석 하여 부모 창의 요 소 를 가 져 옵 니 다.

("\#부모 창 요소 ID",window.parent.document);대응 하 는 javascript 버 전 은 window.parent.document.getElement ByIdxx("부모 창 요소 ID");부모 창의 요 소 를 가 져 오 는 방법:$(selector,window.parent.document);부모 창의 부모 창 요 소 를 가 져 오 면$(selector,window.parent.parent.document)를 사용 할 수 있 습 니 다.유사 한,다른 창 을 가 져 오 는 방법 은 대동소이$(selector,window.top.document),$(selector, window.opener.document);$(selector, window.top.frames[0].document);-----------------------------------------------------------------------------하위 창 생 성 및 부모 창 과 하위 창 간 통신: 1.Javascript 팝 업 서브 창 은 다양한 방식 으로 이 루어 집 니 다.다음 방법(1)은 window 대상 의 open()방법 을 소개 합 니 다.open()방법 은 window.open(URL,windowName,parameters)을 사용 하 는 새로운 window 창 대상 을 만 듭 니 다.URL:열 창의 URL 주 소 를 설명 합 니 다.비어 있 으 면 웹 페이지 를 열지 않 습 니 다.window Name:열 린 창의 이름 을 설명 합 니 다.''을 사용 할 수 있 습 니 다.top'、'_blank'등 내장 명칭,이곳 의 명칭 은의 target 속성 과 같 습 니 다.parameters:열 린 창의 매개 변수 값 을 설명 하거나 모양 이 라 고 할 수 있 습 니 다.창의 각 속성 값 과 들 어 올 매개 변수 값 을 포함 합 니 다.예 를 들 어 400 x 100 의 깨끗 한 창 을 엽 니 다:open(','blank','width=400,height=100,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes')도 이렇게 쓸 수 있다:var newWindow=open(','blank');
매개 변 수 는 다음 과 같 습 니 다.top=\#창 상단 에서 화면 상단 의 픽 셀 수 left=\#창 왼쪽 끝 에서 화면 왼쪽 의 픽 셀 수 width=\#창의 너비 height=\#창의 높이 menubar=..창 에 메뉴 가 있 습 니까?yes 또는 notoolbar=..창 에 도구 막대 가 있 습 니까?yes 또는 nolocation=...창 에 주소 표시 줄 이 있 습 니까?값 yes 또는 nodirectories=...창 에 연결 영역 이 있 습 니까?값 yes 또는 nocrollbars=..창 에 스크롤 바 가 있 습 니까?값 yes 또는 nostatus=..창 에 상태 표시 줄 이 있 습 니까?값 yes 또는 noresizable=...창 에 크기 를 조정 하지 않 습 니 다.값 yes 또는 no
(2)javascript 에 서 는 open()방법 으로 window 대상 을 만들어 팝 업 창 을 만 드 는 것 외 에 대화 상 자 를 만 드 는 방식 으로 창 을 팝 업 할 수 있 습 니 다.예:alert(");/팝 업 정보 알림 대화 상자 confirm(");/팝 업 정보 확인 대화 상자 prompt(");/대화 상 자 는 대화 상자 이지 만 위 에서 실 현 된 팝 업 창 은 기능 이 단일 하여 간단 한 기능 만 수행 할 수 있 습 니 다.대화 상자 에 여러 개의 데이터 정 보 를 표시 해 야 하 며,심지어 HTML 컨트롤 도 어 쩔 수 없습니다.
(3)모드 대화 상 자 를 사용 하여 복잡 한 대화 상 자 를 만 드 는 데 필요 한 방법 은 자 바스 크 립 트 의 내장 방법 중 하나 로 대화 상 자 를 통 해 HTML 내용 을 표시 할 수 있 습 니 다.즉,대화 상 자 를 만 드 는 방식 으로 창 대상 을 만 드 는 데 필요 한 기능 을 수행 할 수 있 습 니 다.생 성 모드 대화 상자 와 비 모드 대화 상자 두 가 지 를 포함 합 니 다.
구현 방법://모드 생 성 대화 상자 window.show Modal Dialog(sURL,vArguments,sFeatures)//비 모드 대화 상자 window.show ModelessDialog(sURL,vArguments,sFeatures)생 성
그 차이 점 은 쇼 ModelessDialog()로 창 을 열 때 window.close()로 닫 을 필요 가 없다 는 것 이다.비 모드 적 방식[IE5]으로 열 때 대화 상 자 를 여 는 창 은 다른 작업 을 할 수 있다.즉,대화 상자 가 항상 맨 위 에 있 는 초점 이 아니 라 창 URL 이 바 뀌 면 자동 으로 닫 힌 다 는 것 이다.모드[IE4]방식 의 대화 상 자 는 항상 초점 이 있 습 니 다(초점 이 닫 힐 때 까지 이동 할 수 없습니다).모드 대화 상 자 는 창 을 여 는 것 과 연결 되 어 있 기 때문에 다른 창 을 열 때 링크 관 계 는 저장 되 고 활성 창 아래 에 숨겨 져 있 습 니 다.쇼 모드 Dialog()는 그렇지 않 습 니 다.
매개 변수 설명:sURL:필수 매개 변수,유형:문자열.대화 상자 에 표시 할 문서 의 URL 을 지정 합 니 다.vArguments:선택 가능 한 매개 변수,유형:변형.대화 상자 에 파 라 메 터 를 전달 합 니 다.전달 하 는 매개 변수 유형 은 배열 등 을 포함 하여 제한 되 지 않 습 니 다.대화 상 자 는 window.dialog Arguments 를 통 해 전 달 된 인 자 를 가 져 옵 니 다.sFeatures:매개 변수 선택,유형:문자열.대화 상자 의 외관 등 정 보 를 설명 할 때 아래 의 하나 또는 몇 개 를 사용 하여 분점 을 사용 할 수 있 습 니 다."격 리dialog Height:대화 상자 의 높이 는 100 px 보다 작 지 않 습 니 다.IE4 에서 dialog Height 와 dialog Width 의 기본 단 위 는 em 이 고 IE5 에 서 는 px 입 니 다.이 를 편리 하 게 보기 위해 modal 방식 의 대화 상 자 를 정의 할 때 px 를 단위 로 합 니 다.dialog Width:대화 상자 너비 입 니 다.dialog Left:데스크 톱 왼쪽 거리 입 니 다.dialog Top:데스크 톱 에서 의 거리 입 니 다.center:창 이 가운데 에 있 는 지 여 부 는 yes 이지 만 높이 와 폭 을 지정 할 수 있 습 니 다.수치 범위{yes|no|1|0}.help:도움말 단 추 를 표시 할 지 여부 입 니 다.기본 yes,수치 범위{yes|no|1|0}.resizable:크기 를 바 꿀 수 있 습 니까?기본 no,수치 범위{yes|no|1|0}[IE5+].status:상태 표시 줄 을 보일 지 여부 입 니 다.기본 값 은 yes[Modeless]또는 no[Modal]이 고 수치 범위{yes|no|1|0}[IE5+]입 니 다.스크롤:스크롤 바 를 표시 할 지 여부 입 니 다.기본 값 은 yes,수치 범위{yes|no|1|0|on|off}입 니 다.그리고 몇 가지 속성 은 HTA 에 사용 되 며 일반 웹 페이지 에 서 는 일반적으로 사용 되 지 않 습 니 다.dialog Hide:미리 보 기 를 인쇄 하거나 인쇄 할 때 대화 상자 가 숨겨 질 지 여부 입 니 다.기본 값 은 no,수치 범위{yes|no|1|0|on|off}입 니 다.edge:대화 상자 의 테두리 스타일 을 표시 합 니 다.기본 값 은 raised,수치 범위{sunken|raised}입 니 다.unadorned:기본 값 은 no,수치 범위{yes|no|1|0|on|off}입 니 다.
입력 매개 변수:대화 상자 에 매개 변 수 를 전달 하려 면 vArguments 를 통 해 전달 합 니 다.형식 은 제한 되 지 않 습 니 다.문자열 형식 에 대해 서 는 최대 4096 글자 입 니 다.또한 대상 을 전달 할 수 있 습 니 다.예 를 들 어 var new Win=window.show Modal Dialog(url,window,'dialog Height:500 px,dialog Left:100 px,dialog Top:100 px,dialog Width:300 px,status:0,edge:sunken');newWin.open();window.open()방법 으로 창 을 만 드 는 것 보다 모드 적 방법 으로 창 을 만 드 는 것 은 모드 적 방법 으로 만 든 창 이 있 으 면 부모 창 을 조작 할 수 없다 는 것 과 차이 가 있 습 니 다.2.하위 창 과 부모 창 간 통신(1)window.open()으로 만 든 창 과 부모 창 통신 은 하위 창 페이지 에서 window.opener 를 통 해 부모 창 대상 을 가 져 올 수 있 습 니 다.가 져 온 후 하위 창 은 부모 창 에 새로 고침,값 전송 등 을 수행 할 수 있 습 니 다.예:window.opener.location.reload();/하위 창 새로 고침 부모 창 window.opener.location.href/부모 창 hrefwindow.opener.location.pathname/부모 창 경로 이름 가 져 오기/부모 페이지 window.location.href=window.location.href 새로 고침;/부모 페이지 window.location.reload 를 다시 찾 습 니 다.(2)모드 창 과 부모 창 통신 은 showModelDialog()및 showModelessDialog()방법 으로 만 든 하위 창 이 부모 창 과 통신 하려 고 할 때 window.opener 를 통 해 부모 창 대상 을 가 져 올 수 없습니다.통신 을 실현 하려 면 모드 하위 창 을 만 들 때 하위 창 에 부모 창 대상 으로 전송 해 야 합 니 다.구현 방식:부모 창 에서:var new Win=window.show ModelDialog(url,window,');newWin.open();이 때 매개 변수 window 는 부모 창 대상 이 하위 창 에 있 습 니 다.부모 창 대상 을 먼저 가 져 와 야 부모 창 대상 을 사용 할 수 있 습 니 다.부모 창 대상 은 하위 창 을 만 들 때 매개 변 수 를 전달 하 는 방식 으로 들 어 오기 때문에 하위 창 에서 도 창 매개 변 수 를 가 져 오 는 방식 으로 부모 창 대상 을 가 져 올 수 밖 에 없습니다.가 져 오 는 방법 은 다음 과 같 습 니 다:var parent=widnow.dialogArguments;변수 parent 는 부모 창 대상 입 니 다.예 를 들 어://하위 창 을 통 해 부모 창의 폼 을 제출 합 니 다:form 1,제출 후 조회 작업 을 수행 합 니 다 var parent=window.dialogArguments;parent.document.form1.action="QueryInfor.jsp";parent.submit();//부모 페이지 var parent=window.dialogArguments 새로 고침;parent.location.reload();//하위 창 에서 부모 창 으로 값 을 전달 하려 면 window.returnValue 를 사용 하여 다음 과 같은 방법 을 완성 해 야 합 니 다.하위 창 에서://부모 창 필드 값 을 가 져 오고 이 값 을 추가 한 후 부모 창 var parent=window.dialogArguments 로 돌아 갑 니 다.var x=parent.docuement.getElementById("age").value;x=x+1;//x 값 window.returnValue=x 를 되 돌려 줍 니 다.부모 창 에서://하위 창 에서 값 var new Win=window.show ModelDialog(url,window,')가 져 오기;if(newWin!=null)document.getElementByIdx_x("age").value=newWin;//하위 창 에 부모 창의 값 을 설정 합 니 다.하위 창 에서 부모 창 에 값 을 입력 하 는 것 은 부모 창의 값 을 직접 설정 하지 않 은 것 같 습 니 다.부모 창 에 있 는 요소 의 값 을 직접 설정 하 는 것 은 더욱 유연 해 야 합 니 다.그러나 구체 적 으로 어떤 방법 을 사용 하 는 지 는 실제 상황 과 기 존의 실현 방식 에 따라 정 해 야 합 니 다.실제 와 부합 되 지 않 는 방법 을 사용 하면 개발 효율 을 낮 출 뿐만 아니 라 집행 효율 도 낮 출 뿐만 아니 라 우아 하지 않 은 실현 방식 과 코드 스타일 도 초래 할 수 있 기 때 문 입 니 다.하위 창 에서 부모 창의 값 을 설정 하 는 방법 은 다음 과 같 습 니 다.하위 창 에서:var parent=window.dialogArguments;var x=parent.document.getElementByIdx_x("age").value;x=x+1;//부모 창 에 age 속성 값 parent.document.getElement ByIdx 설정x("age").value=x;이상 은 제 가 프로젝트 에서 자바 script 을 사용 하여 하위 창 문 제 를 해결 할 때 수집 하고 축적 하 는 방법 과 자료 입 니 다.저 는 모드 창 을 만 드 는 방식 으로 이 루어 집 니 다.(이것 은 주로 프로젝트 자체 와 관련 이 있 습 니 다)그러나 사실은 window.open()을 사용 하 든 window.show ModelDialog()를 사용 하여 전 참 등 작업 을 할 때 실현 방법 에 있어 큰 차이 가 있 지만 첫 번 째 접촉 은 좀 복잡 하 다 고 느 낄 수 있 지만 하위 창 과 부모 창 간 의 관계 와 역할 을 정리 하면이해 하기 쉬 워.

좋은 웹페이지 즐겨찾기