웹표준/자바스크립트
Window 객체를 이용한 팝업 생성하기
Kiwisae
2022. 8. 16. 12:36
다음과 같은 순서를 지켜 작성해야 한다.
open ("실행할URL", "문서이름", "옵션")
이 때, 옵션에 가로, 세로 크기를 지정하는 내용이 반드시 들어가야 한다.
(width, height)
간단한 팝업창을 띄워본다.
<script>
open("http://www.daum.net", "mywin01", "width=200, height=400");
</script>
캡쳐를 하기 위해 팝업창 위치를 옮겼는데,
별도로 옵션을 지정하지 않으면 좌측 상단에 열리는 것이 기본값이다.
실행 위치는 다음과 같은 형식으로 지정한다.
<script>
window.open("http://www.daum.net", "mywin01", "width=200, height=400")
window.open("http://www.kakao.com", "mywin02", "width=200, height=400 left=300, top=100")
</script>
팝업 함수를 응용하여
새 창이 열리는 버튼과 창을 닫아주는 버튼을 생성해보았다.
이전에 날짜와 시간을 출력하는 문서를 date01.html 이라는 이름으로 저장했는데,
그 문서를 새 창으로 열어보았다.
<head>
<script>
function winopen(){
window.open("date01.html", "mywin01", "width=400, height=200");
}
function winclose(){
window.close();
}
</script>
</head>
<body>
<input type="button" value="새 창 열기" onClick="winopen()">
<input type="button" value="창 닫기" onClick="winclose()">
</body>
이 때, winclose 함수에는 아무것도 지정하지 않았다.
내가 닫으려고 하는 것은 새로 팝업으로 열리는 date01.html 문서인데,
저 상태에서 실행한다면 부모 윈도우만 닫히고 date01.html 문서는 닫히지 않는다.
그래서 head의 function 위쪽에 변수 w1를 설정해서 코드를 수정한다.
<script>
var w1;
function winopen(){
w1 = window.open("date01.html", "mywin01", "width=400, height=200, left=500, top=200");
}
function winclose(){
w1.close();
}
</script>
창닫기를 누르면 date01.html 팝업창만 종료된다. 부모 윈도우는 종료되지 않는다.