>  기사  >  웹 프론트엔드  >  javascript showModalDialog, 상위 window_javascript 기술을 얻기 위한 공개 메소드

javascript showModalDialog, 상위 window_javascript 기술을 얻기 위한 공개 메소드

WBOY
WBOY원래의
2016-05-16 18:32:501149검색

일반적으로 window.open을 사용하여 새 창을 여는 경우
상위 창의 컨트롤을 얻으려면 window.opener를 사용하여 상위 창을 가져올 수 있습니다
그러나 showModalDialog를 사용하면... 작동하지 않습니다.
필요한 경우 열기 구문과 showModalDialog의 구문을 수정해야 합니다
열기 구문의 두 번째 매개변수로 self를 추가하세요. 예는 다음과 같습니다.
var rc=window.showModalDialog(strURL, self,sFeatures);
다음 호출은 다음과 같습니다.
var pWindow=window.dialogArguments;
이 방법으로 상위 창의 창 개체 제어를 얻을 수 있습니다. 예:
window.dialogArguments.document.getElementsByName("processId")[0].value;

js에서 오프너와 부모의 차이점

예를 들어 페이지 A가 window.open을 사용하여 페이지 B의 창을 표시하는 경우 페이지 A가 있는 창이
페이지 B의 오프너입니다. 페이지 A는 다음을 통해 액세스할 수 있습니다. B페이지의 오프너 개체
부모는 부모 창을 나타냅니다. 예를 들어 페이지 A가 iframe 또는 프레임을 사용하여 페이지 B를 호출하는 경우 페이지 A가 있는 창이
페이지 B의 부모입니다.
JS에서 window.opener는 팝업 창의 상위 창에 대한 참조일 뿐입니다. 예:
a.html에서 window.open은 버튼을 클릭하여 b.html 새 창을 엽니다. 그런 다음 b.html에서
window.opener(생략하여 opener로 작성)를 사용하여 a.html의 문서 및 기타 개체를 포함하여 a.html을 참조하고 a.html의 내용을 조작할 수 있습니다.
이 참조가 실패하면 null이 반환됩니다. 따라서 오프너 객체를 호출하기 전에 해당 객체가 null인지 먼저 확인해야 합니다. 그렇지 않으면
"객체가 비어 있거나 존재하지 않습니다."라는 JS 오류가 나타납니다.

코드 복사 코드는 다음과 같습니다.

body>

<입력 유형=버튼 > ;/body> ;



back2opener.html



코드 복사 ;
< a class=under href=# >추가

window.opener는 현재 창을 생성한 창에 대한 참조를 반환합니다. 예를 들어 a.htm에서 링크를 클릭하고
b.htm을 열면 b.htm에 값을 입력할 계획입니다. ID가 "name"인 텍스트 상자에서
다음과 같이 작성할 수 있습니다.
window.opener.document.getElementById("name").value = "Input data";
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.