개발자 미니민의 개발스터디

[javascript] window open 속성 - 팝업창 띄우기 / html 창 띄우기 / 색 변경

by mini_min
[javascript] window open 속성 - 팝업창 띄우기 / html 창 띄우기 / 색 변경

✔️ 윈도우 객체로 팝업창 띄우기

👩‍💻 윈도우 객체 주요 속성이 궁금하면 아래 글로.....

https://backshren20.tistory.com/336

 

[javascript] 브라우저 객체 모델 / window 객체 / document 객체

[javascript] 브라우저 객체 모델 / window 객체 / document 객체 ✔️ 브라우저 객체 모델 BOM : 브라우저와 상호작용하는 메소드와 인터페이스를 제공한다. : 웹 브라우저와 관련된 객체의 집합이다. : BOM

backshren20.tistory.com

<div>
<!-- openWin()그냥 쓰면 안된다.  -->
	<p><a href="javascript:openWin()">팝엽열기</a> </p>
	<p><a href="javascript:closeWin()">닫기</a> </p>
</div>

<script type="text/javascript">
var win = null;

function openWin() {
	let f;
	let url = "https://naver.com";
	
	f = "letf=10, top=10, width=700, height=500";
	win = window.open(url, "test", f);
	//두번쨰는 띄울 메모, f는 팝업창의 위치
	//속성을 줬을 때 먹히는 속성, 안먹히는 속성 따로 있을수잇다.
}

function closeWin() {
	if(win){
		win.close();
	}
	win = null;
}
1)  <a href="javascript:openWin()">
a 태그로  javascript:openWin 함수가 열리도록 한다.

2) function openWin() 에서 f 는 팝업창이 뜨는 위치를 말한다. url 은 팝업창이 띄울 주소를 작성한다.

3) win = window.open(url, "test", f);
open 속성은 새로운 브라우저 창을 생성하여 명시된 리소스를 새 창에 로딩한다.
순서대로 url , 윈도우 이름, 위치 정보 이다.

 

 

✔️ 윈도우 객체로 html 창 띄우기

👩‍💻 마찬가지로 opne 속성을 사용한다.

대신, 이때 url 은 html 주소이다.

 

이때, zipFind.html 형식이 중요하다. 

다른 html 에서 open 당했기 때문에, 현재 윈도우를 생성한 창(html) 을 opener 라고 가리킨다.

<script type="text/javascript">
function selectZip(zip, addr){
	//opener : 현재 윈도우를 생성한 창! 이 창을 만든 녀석
	
	opener.myForm.zipNo.value = zip;
	opener.myForm.addr1.value = addr;
	
	window.close();
	
}

window.onload = () => {
	let s = opener.myForm.name.value + "님의 우편번호를 선택해주세요.";
	document.getElementById("zipFind").innerHTML = s;
	
}

</script>

</head>
<body>

<h3 id="zipFind"> </h3>

<div>
	<p><a href="javascript:selectZip('111', '서울')">111-서울</a></p>
	<p><a href="javascript:selectZip('222', '인천')">222-인천</a></p>
	<p><a href="javascript:selectZip('333', '경기')">333-경기</a></p>
	<p><a href="javascript:selectZip('444', '부산')">444-부산</a></p>
	<p><a href="javascript:selectZip('555', '제주')">555-제주</a></p>
	
</div>

</body>
</html>
💡 창을 띄우자마자, '@@님의 우편번호를 선택하세요' 란 창이 뜨도록,
window 객체의 onload 속성도 만들었다.
function openFind() {
	let f;
	let url = "zipFind.html";
	
	//위치
	f = "left=30, top=30, width=700, height=500";
	
	window.open(url, "zip", f);
	
}
💡 onclick="openFind();">우편번호 (중략)
우편번호 버튼을 누르면 새로운 창이 뜨도록 설정하면 새로운 html 창이 뜬다.

 

 

✔️ 윈도우 객체로 배경색 변경하기

👩‍💻 배경 변경 버튼을 누르면, 배경 선택 창이 새로 뜨고, 배경을 선택하면 배경색이 변경되도록 한다.

여기서도 color.html 을 호출한 창을 opener 라고 가리켜야한다. 

opener 의 layout 클래스의 background 속성을 선택한 값으로 변경한다.

function cb() {
	let f;
	let url = "color.html";

	f = "left=30, top=30, width=700, height=500";
	
	window.open(url, "color", f);
}
function change() {
	
	let c = document.getElementById("color").value;
	
	
	//querySelector 는 document 객체의 메소드라서. opener 는 윈도우 객체라서 
	opener.document.querySelector(".layout").style.backgroundColor = c;
	
	window.close();
	

}

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기