JS
230104 JS BOM window.open()
주영재
2023. 1. 4. 19:09
BOM
자바스크립트의 두번째 강력한 기능
BOM은 브라우저 객체 모델이라 하며, 내장객체들을 의미함.
브라우저 상에 사건들을 다룰 때 사용
window는 생략이 가능함
window객체
window.open()-새창을 띄워주는 메서드.
window.close()-현재 창을 끔
window.open(문서 주소, 이름, "옵션=값, 옵션=값, 옵션=값");으로 사용
이름은 창의 별칭. 아무거나 적어도 됨.
옵션
width, height, left, right, top, bottom,->:가 아니라 =으로 사용.
location=yes 또는 no : 윈도우 주소창을 보이게
scrollbars=yes 또는 no : 스크롤바를 보이게
menubar=yes 또는 no : 메뉴바를 보이게
toolbar=yes 또는 no : 툴바를 보이게
status=yes 또는 no : 상태줄 보이게
but, location은 먹히지 않는 브라우저가 대부분이다.
1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
window.onload=function() {
// window.open("popup.html");//open("띄울창", "별칭","옵션")
window.open("popup.html","별칭","width=500px, height=300px, left=100px, top=50px, location=no");
}
</script>
</body>
</html>
2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
팝업창
<input type="checkbox" class="x">오늘하루이창을열지않기
<script>
var x=document.querySelector(".x");
x.addEventListener("click",function(){
//하루동안 못열게하려면, 쿠키가 들어가야 함
window.close();
//opener-주창과 보조창간의 데이터 전달이 가능...
})
</script>
</body>
</html>
1번을 실행하면 자동으로 2번이 새로운 창으로 실행됨. window.open()때문.
체크박스를 체크하면 창이 닫힘. 그러나 일정 시간동안 열리지 않게 하려면 쿠키가 들어가야 함.
+)opener-주창과 보조창 간의 데이터 전달이 가능. 추후 확인할 것.