>  기사  >  웹 프론트엔드  >  javascript showModalDialog 값 전송 및 FireFox의 window.open 부모-자식 창 값 전송 example_javascript 기술

javascript showModalDialog 값 전송 및 FireFox의 window.open 부모-자식 창 값 전송 example_javascript 기술

PHP中文网
PHP中文网원래의
2016-05-16 18:42:111232검색

javascript showModalDialog 값 전달 및 FireFox의 window.open 상위-하위 창 값 전달 샘플 코드.

먼저 기본 지식을 간략히 소개합니다:
1. window.open() 지원 환경: Java1.0 /J1.0 /Nav2 /IE3 /Opera3
2. window.open(pageURL,name,parameters)
여기서:
pageURL은 하위 창 경로입니다.
name은 하위 창 핸들입니다.
parameters는 창 매개변수입니다(각 매개변수는 쉼표)
3. 매개변수
그 중 yes/no도 사용할 수 있으며 픽셀 값은 특정 값, 단위 픽셀입니다.
매개변수 | 값 범위 | 설명
alwaysLowered | 예/아니요 | 지정된 창이 모든 창 뒤에 숨겨집니다.
지정된 창이 모든 창 위에 일시 중지됩니다. 예/ no | 동시에 상위 창을 닫을지 여부
디렉터리 | Nav2 및 3의 디렉터리 표시줄 표시 여부
높이 | 창 높이
단축키 | 메뉴 막대가 없는 창에서 CMD 안전 종료 단축키
innerHeight | 픽셀 값 | 창에 있는 문서의 픽셀 높이
위치에 있는 문서의 픽셀 너비 | | 위치 표시줄 표시 여부
메뉴 표시줄 표시 여부
outerHeight | 픽셀 높이 설정(장식 테두리 포함)
outerWidth | 창의 픽셀 너비 설정(장식 테두리 포함)
크기 조정 가능 여부
screenX | 화면 왼쪽 가장자리부터의 픽셀 길이
screenY | 픽셀 값 | 화면 상단 가장자리부터의 픽셀 길이
스크롤바 | 예 /아니요 | 창에 스크롤 막대가 있을 수 있는지 여부
창 제목 표시줄 여부 | 표시됨
도구 모음 | 예/아니요 | 창 도구 모음 표시 여부
너비 | 창의 픽셀 너비
예/아니요 | 활성화된 후의 창
window.showModalDialog 사용자 설명서
기본 소개:
showModalDialog()(IE 4 지원)
showModelessDialog()(IE 5 지원)
window.showModalDialog() 메서드는 HTML 콘텐츠를 표시하는 모달 대화 상자를 만드는 데 사용됩니다.
window.showModelessDialog() 메서드는 HTML 콘텐츠를 표시하는 비모달 대화 상자를 만드는 데 사용됩니다.
사용법:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
매개변수 설명:
sURL--
필수 매개변수, 유형: 문자열. 대화 상자에 표시할 문서의 URL을 지정하는 데 사용됩니다.
vArguments--
선택적 매개변수, 유형: 변형. 대화 상자에 매개변수를 전달하는 데 사용됩니다. 배열 등을 포함하여 전달되는 매개변수 유형은 제한되지 않습니다. 대화 상자는 window.dialogArguments를 통해 전달된 매개변수를 가져옵니다.
sFeatures--
선택적 매개변수, 유형: 문자열. 대화 상자의 모양과 기타 정보를 설명하는 데 사용되며 다음 중 하나 이상을 세미콜론 ";"으로 구분하여 사용할 수 있습니다.
1.dialogHeight: 대화 상자 높이, 100px 이상. IE4의 대화 상자 높이 및 대화 상자 너비의 기본 단위는 em이지만 IE5에서는 편의상 모달 대화 상자를 정의할 때 단위를 px로 사용합니다.
2.dialogWidth: 대화상자 너비.
3.dialogLeft: 화면 왼쪽으로부터의 거리입니다.
4.dialogTop: 화면으로부터의 거리.
5.center: {yes | no | 1 | 0}: 창이 중앙에 있는지 여부는 기본값이지만 높이와 너비는 계속 지정할 수 있습니다.
6.help: {yes | no | 0}: 도움말 버튼을 표시할지 여부, 기본값은 yes입니다.
7.ressible: {예 | 아니오 1 | 0} [IE5+]: 크기를 조정할 수 있는지 여부. 기본값은 아니오입니다.
8.status: {yes | no 1 | 0} [IE5]: 상태 표시줄을 표시할지 여부입니다. 기본값은 yes[Modal] 또는 no[Modal]입니다.
9.scroll:{ yes | no | 0 | on off }: 대화 상자에 스크롤 막대가 표시되는지 여부를 나타냅니다. 기본값은 예입니다.
다음 속성은 HTA에서 사용되며 일반적으로 일반 웹페이지에서는 사용되지 않습니다.
10.dialogHide:{ yes | no | 1 | 0 | off }: 인쇄 또는 인쇄 미리보기 중에 대화 상자를 숨길지 여부입니다. 기본값은 아니오입니다.
11.edge:{ sunken | raise }: 대화 상자의 테두리 스타일을 지정합니다. 기본값은 증가합니다.
12.unadorned:{ 예 | 아니요 | 0 |
매개변수 전달:
1. 매개변수를 대화 상자에 전달하려면 vArguments를 통해 전달됩니다. 유형에는 제한이 없습니다. 문자열 유형의 경우 최대 길이는 4096자입니다. 객체를 전달할 수도 있습니다. 예:
-----------------------------------
부모 .htm



코드 복사

코드는 다음과 같습니다.

>


---------
2.대화를 열 수 있습니다. window.returnValue를 통해 프레임의 창은 정보를 반환하며, 이는 물론 객체일 수도 있습니다. 예:
--------------------------------
parent.htm

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


< type="text/java"> ",,"dialogWidth= 200px;dialogHeight=100px");
alert(str);


modal.htm

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




IE에서는 showModalDialog를 사용하여 값을 전달할 수 있습니다.

구문은 다음과 같습니다.
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
그러나 Firefox에는 showModalDialog 메소드가 없지만 window.open()을 사용할 수 있습니다.
구문은 다음과 같습니다.
oNewWindow = window.open([sURL] [, sName] [, sFeatures] [, bReplace])
Firefox에서는 window.open의 매개변수 중 딱 그렇습니다. , sFeature에는 더 많은 기능 설정이 있습니다. 예, 열린 창을 FireFox의 IE showModalDialog와 동일하게 하려면 sFeatures에 modal=yes를 추가하면 됩니다.
아래에는 사용법을 설명하기 위한 예가 사용되었습니다.
기능 설명: 하위 창에서 색상 유형을 입력하여 상위 창에 제출하고, 드롭다운 목록에 옵션을 추가합니다.
a.html


코드 복사

코드는 다음과 같습니다.




< title>a .html 문서
/head>









b.html



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



<머리>

b.html文档
<스크립트 언어="javascript">
함수 ClickOk()
{
var t=document.Edit;
var url=t.color.value;
if(url==null||url=="填写颜color") return(false);
window.returnValue=url;
window.close();
}


<본문>







색상:

>修改为兼容IE와 FireFoxr의 대대적인 다운로드:
[코드]




a.html文档



🎜>


>



다음은 친구가 인터넷에 올린 테스트 코드입니다.

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






메인 페이지</ title> <br></head> <br><script type="text/javascript"><!-- <br/>//배열 전달<br/>function check(){ <br/>var mxh1 = new Array("mxh","net_lover","맹자 장 E") <br/>window.showModalDialog("test.html",mxh1,"unadorned:0;scroll:0;status:false;dialogWidth:380px; DialogHeight: 200px"); <br/>} <br/>//객체 전송<br/>function check1(){ <br/>var obj = new Object(); <br/>obj.name="zhangsan"; <br/> obj.age=2; <br/>obj.sex="남성"; <br/>window.showModalDialog("aaa.html",obj,"unadorned:0;scroll:0;status:false;dialogWidth:380px;dialogHeight :200px "); <br/>} <br/>// --></script> <br><body onload="check1();"> <br></body> <br> < /html> <br></p> <p><br>test.html 소스 코드: <br></p> <p class="codetitle"><span style="text-decoration:underline;">코드 복사</span> 코드는 다음과 같습니다.</p> <p class="codebody"><br> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ; <br/>< ;html xmlns="http://www.w3.org/1999/xhtml"> <br><head><meta http-equiv="Content-Type" content= "text/html; charset=gb2312" /> <br><title>메인 페이지 값 가져오기</head> <br><body> ="text/javascript" ><!-- <br/> //배열 메서드 전달<br/> <br/> //alert(test[2]) <br/> //객체 전달 메서드<br/> ; obj = 대화 인수; <br/> 경고(obj.name); <br/> 경고(obj.sex); <br/><br/> <br/>// ;/script> <br> <input type="text" /> <br></html> <br><br><br>showModalDialog 값 전송 새로 고침<br>showModalDialog 사용 예를 들어 보면, 부모 창은 자식 창에 값을 전달하고 자식 창은 부모 창의 값을 설정하며, 자식 창이 닫히면 그 값이 부모 창에 반환됩니다. <br> farther.html <br><br><br></p>코드 복사<p> 코드는 다음과 같습니다.<br></p> <p class="codebody"><br><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <br><HTML> <br><HEAD> <br><TITLE>새 문서




<스크립트 언어="javascript">







传递到父窗口的值:

返回적值:

子窗口设置的值:





child.html

复代码 代码如下:





새 문서












父窗口传递来的值:

输入要设置父窗口的值:

输入返回的值:

<스크립트 언어="javascript">



脚本之家下一篇文章。



(두)下면是关闭刷新父窗口의 사례
farther.html

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


🎜>


새 문서 <br><meta name="Generator" content="EditPlus"> <br> META NAME= "저자" CONTENT=""> <br><META NAME="키워드" CONTENT=""> <br><META NAME="Description" CONTENT=""> ;스크립트 언어 ="javascript"> <br><!-- <br>함수 openChild() <br>{ <br>var k = window.showModalDialog("child.html",window,"dialogWidth:335px ;status: no;dialogHeight:300px"); <br>if(k == 1)//새로 고침 여부 결정 <br>{ <br>alert('refresh'); <br>window.location.reload( ); <br>} <br>} <br></script> <br><BODY> 🎜>상위 창의 값으로 전달:<input id="txt9" type="text" value="3333333333333" NAME="txt9"><br> <br><input type="button" 값 ="openChild" onclick="openChild()" ID="Button1" NAME="Button1"> <br></BODY> <br></HTML> <br><br><br>child.html <br><br><br><br>코드 복사 코드는 다음과 같습니다:<p><br><br><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > </p><HTML> <p class="codetitle"><HEAD> <span style="text-decoration:underline;"><TITLE>새 문서

="설명">







상위 창에서 전달된 값:
< ;input id="Button1" onclick="winClose(1)" type="button" value="상위 창을 닫고 새로 고침" name="Button1">