<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta name="generator" content="editplus" />
<meta name="author" content="김종현" />
<script type="text/javascript">
function Test() {
//브라우저창 -> 브라우저창 생성(자식창)
//새창 뛰우기
//open 속성은 매개변수가 3개
//1. (url or local경로 만든페이지도 가능, 2. name, 3. options)
//2. name 의 경우는 내부적으로 윈도우가 구분하기위해 되어있는 이름이다.
//3. option의 경우는 자식창의 크기를 지정할수 있다. 기본적인 브라우저 상태는 없어지고 깨끗한 상태만 나온다
//옵션값으로 부모화면을 표현해 낼수 있다.
var str = "zzarungna"; //문자열
var str2 = ""; //빈문자열(empty string)
//최초 프로그램이 정해진 이름으로 만들어진 이름으로 자식이 되있는지 프로그램 안에서 확인한다.
//이름이 있다면 더이상 자식을 만들지 않는다.
/*
window.open("Ex07_javascript_window함수.htm", "newform", "width=200, height=200, left=500, top=100, status=1", "location=1, resizable=yes");
*/
//window.open("Ex07_javascript_window함수.htm", "zzarungna", "fullscreen=1");
window.open("Ex08_window.open.child.htm", "child", "width=100, height=200");
}
</script>
</head>
<body>
<!-- Ex08.htm -->
<input type="button" value="새창열기" onclick="Test();" />
</body>
</html>
*******************************************************************************************
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta name="generator" content="editplus" />
<meta name="author" content="김종현" />
<script type="text/javascript">
function CloseChild() {
//현재 창을 종료
if (confirm("정말 종료하시겠습니까?")) {
window.close();
}
}
</script>
</head>
<body>
<!--Ex08_child.htm-->
<h3>자식창</h3>
<input type="button" value="창닫기" onclick="CloseChild();" />
</body>
</html>
부모창
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>부모 자식간 대화</title>
<script type="text/javascript">
var child;
function OpenChild()
{
//1. 띄울 주소(내,외부주소 모두 가능)
//2. 이름 아무거나 지정
//3. 3번째는 사용하지 않는다.
//window.open("Ex01.htm", "child", ""); //자식창 열기
//window.open("", "childe", ""); //빈페이지 생성
//window.open("http://www.naver.com", "child", "");
//2. name(중복창 실행 방지)
//같은 이름이 되어있는 창은 중복되서 창이 나오지 않는다.
//window.open("Ex01.htm", "childe", ""); //중복 새창 불가능
//window.open("Ex01.htm", "", ""); //이름을 안주게되면 중복 새창 가능
//3. 모양(상태)
// - 창의 형태, 위치, 크기, 특성..
//window.open("Ex01.htm", "child", "width=200 height=200 resizable=no scrollbars=yes");
//단독 옵션
//window.open("Ex01.htm", "child", "fullscreen");
//child는 자식창 입장에서 보면 자신의 window객체
//child.Owner = this; 이미 이문구는 실행됨
child = window.open("Window02_Child.htm", "child", "");
}
function TestChild()
{
//자식창의 텍스트박스(txt1)에 접근하기
//window.document.form1.txt1
child.document.form1.txt1.value = "난부모 과연 대화할수 있을까?";
alert(child.num); //다른창의 전역변수
child.Test();//다른창의 함수
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="txt1" /><br />
<input type="button" value="자식창 띄우기 " onclick="OpenChild();" />
<input type="button" value="자식창 접근하기 " onclick="TestChild();" />
</form>
</body>
</html>
자식창
<!DOCTYPE html
PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>난자식이당</title> <script
type="text/javascript"> var num = "ㅋㅋㅋ"; function TestParent() { //this.Owner : 부모창 //window.opener
-> 부모창에서의 window와 동일 window.opener.document.form1.txt1.value = "자식창에서 왔습니당."; } function Test() { alert("캬캬캬캬컄캬"); } </script> </head> <body> <form
name="form1"> <input type="text" name="txt1" /><br /> <input type="button" value=" 부모에게 접근하기 " onclick="TestParent();" /> </form> </body> </html>