A.html :
<form name = "form1"method = "post"action = ""> <a href = "javaScript : void (null)"onclick = "open ( 'b.html', '', 'Resizable = 1, scrollbar = 1, no, 툴바 = 아니오, 메뉴 = 아니오, 너비 = 500, 높이 = 400, 왼쪽 = 150, top = 50')"> intut type = "text"name = "text1"> </form>
B.html :
<script language = "javaScript"type = "text/javaScript"> function returnValue () {wind 이름 = "returnText"type = "text"id = "returnText"> </p>보충 : Window.opener의 사용
일반적으로 Window. Opener의 사용은 팝업 창이 닫을 때 팝업 창이 촉진되지 않는 문제를 해결하는 데만 사용되지만 이에 대한 더 깊은 이해는 일반적으로 적습니다. 실제로 Window.opener는 Window.open 메소드를 호출하는 창을 나타냅니다.
주로 작업의 부분 제출을 해결하는 데 사용됩니다. 이러한 종류의 페이지 스프레드는 작업에 매우 도움이됩니다.
기본 창에서 페이지를 열고 기본 창이 새로 고침을 원한다면 이것을 사용합니다.
메인 창의 창.
기본 창의 새로 고침을 사용할 수 있습니다
Window.opener.location.reload ();
가상 디렉토리를 사용하는 경우 Struts*.do와 같은 가상 디렉토리를 사용하면 다시 시도하라는 메시지가 표시됩니다.
Window.opener.yourformname.submit ()로 변경할 수 있습니다.
괜찮아요
2>
응용 프로그램에는 그러한 상황이 있습니다.
창 b에서 창 b를 열고 창 b에서 작동 후 창 b를 닫고 창 b를 자동으로 새로 고침
함수 closeWin () {hasclosed = true; wind위의 코드는 창 b를 닫을 때 오류가 발생하며 객체가 누락되었다고 말하고 올바른 코드는 다음과 같습니다.
함수 CORCHOWIN () {hasclosed = true; winde Window.opener.location = "javaScript : ReloadPage ();";}} </script> ReloadPage 메소드는 다음과 같습니다. function reloadpage () {history.go (0); docum추신 : 창의 정상 폐쇄 및 강제 폐쇄를 지원할 필요가 있으므로 글로벌 변수가 사용됩니다.
========================================================================
또한 부모 창이 프레임 일 때 부모 창을 새로 고칠 때 문제가 발생합니다.
정보를 재현하지 않고는 페이지를 새로 고칠 수 없습니다.
다음 수정은 다음과 같습니다.
Window.opener.parent.document.frames.Item ( 'mainframe'). location.href = window.opener.location.href;
내장 Reload () 메소드를 실행할 필요가 없습니다. 이 문장을 추가하지 않도록주의하십시오.
Window.opener.parent.document.frames.Item ( 'mainframe'). location.reload ();
====================================================================== ======================================================================
마지막으로, 일반 상위 창과 프레임 상위 창을 모두 새로 고치기 위해 코드는 다음과 같습니다.
함수 cropenewin () {hasclosed = true; <%if (null! = frame) {%> window.opener.perent.document.frames.Item ( 'mainframe'). location.href = window.opener.location.href; <%} else {%> window.opener.location = "JavaScript : repoadPage ();"; <%}%> // Window.opener.top.mainframe.location = "javaScript : repoadPage ();"; // self.opener.frames.mainframe.location.reload (true); window.opener = null; window.close ()) 함수 Window.onbbefore (! {<%if (null! = frame) {%> windWindow.opener를 사용하는 방법
Opener는 예를 들어 현재 창을 생성하는 창에 대한 참조를 반환합니다. 그런 다음 B.htm에 값을 입력 한 다음 A.HTM에서 ID "이름"이있는 텍스트 상자에 할당 한 다음 다음과 같이 씁니다.
window.opener.document.getElementById ( "name"). value = "입력 데이터";
JavaScript의 Window.opener에 대한 이해가 잘되지 않습니다.
왜 프레임에서 사용할 수 없습니까? 팝업 창의 상위 창이 프레임의 특정 페이지에있을 수 없습니까? 그렇다면 팝업 창을 통해 프레임의 부모 창을 어떻게 작동합니까?
Opener.parent.frames [ 'framename']. document.all.input1. value try this :)
프레임 프레임의 페이지를 부모 프레임의 같은 프레임 또는 페이지 아래의 다른 페이지로 변경하려면 부모를 사용하십시오.
Window.opener는 Window.open으로 열린 페이지의 상위 페이지를 나타냅니다.
Window.frames 객체는 iframe의 페이지 또는 프레임 세트의 페이지를 참조 할 수 있습니다.
할 수 있다
Window.frames [0] .document.getElementById ( 'xx');
할 수 있다
Window.frames [0] .document.body.innerhtml;
frm = window.parent.window.frames [ 'uploadframe'];
frmdocument = frm.document;
frm.sb (3); // SB는 업로드 프레임 페이지의 함수입니다
Firefox의 경우
오류가 발생하면 : Parent.Document.frames에는 속성이 없습니다
다음 코드로 변경하십시오. 이 코드는 IE 및 FF와 호환됩니다. frm = window.parent.window.frames [ 'uploadframe']; 실제로, 프레임 컬렉션은 문서에 매달리지 않고 창 객체에 매달려 있습니다.
이러한 방식으로 프레임에서 페이지를 수정하는 데 제한이 있습니다. 즉, 동일한 도메인에 있어야합니다. 그렇지 않으면 액세스 할 수 없습니다.
동일한 도메인 아래에 있지만 하위 도메인 이름이 다르면 관련 JS 및 HTML 파일에 문장을 추가하십시오.
document.domain = xxx.com [도메인 이름을 여기서 작성] 문서. getElementById ( 'iframeid'). contentWindow.document.getElementById ( 'adeElementId');
묻다:
상위 창에서 window.open () 하위 창 변수를 정의합니다. i.
child window and window.opener.i = j에 값 j를 입력하십시오.
이런 식으로 통과 할 수 있습니다. 그러나 자식 창 끝에 Window.close ()를 추가하여 값을 전달할 수 없었습니다.
이 문제를 해결할 수있는 방법이 있습니까? 아이 창을 닫기 전에 값을 전달하게하십시오.
코드는 다음과 같습니다.
부모 창 : parent.jsp
<cript> var i; wind
하위 창 : CD.JSP
<cript> 함수 subm () {window.opener.i = 5; wind1 답변
부모 창에 하나를 넣을 수 있습니다
<입력 id = "fromchild"type = "hidden" /<input type = "button"onclick = "alert (document.getElementById ( 'fromChild'). value)">
어린이 창에서 :
함수 subm () {wind이것은 괜찮습니다
<head> <script language = javaScript> 함수 WindowClose () {window.opener = null; windJS 팝업 창의 반환 값의 위의 간단한 예는 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.