새로운 document 개체를 연다.

Script[oNewDoc=]document.open(sUrl,[sTarget],[sFeatures],[bReplace])
인수/파라메터
document : (문서 개체)
필수적인 요소이며, 문서를 나타내는 document 개체이다.
open : (열기 메서드)

필수적인 요소이며, 새로운 문서를 여는 메서드이다.

sUrl : (문서의 주소)

필수적인 요소이며, 새로운 문서를 열 때 sUrldocumentMIME(Multipurpose Internet Mail Extensions) 타입을 지정하는 문자열이다.

mimeType : (미메 타입)은 선택적인 요소이며, 새로 작성할 문서의 종류이다.
인수가 제공되지 않으면 'text/html'이 디폴트값이 적용되고, 현재로서는 미메타입만 지원된다.

새로운 윈도우를 열 때 sUrl은 새로운 window에 표시될 문서의 주소를 나타내는 문자열이다.
sUrl이 지정되어 있지 않으면 about:blank로 새로운 윈도우가 디스플레이된다.

sTarget : (목표창 이름)

선택적인 요소이며, 새로운 문서가 열릴 때, sTarget에 문자열 replace을 지정하면 history 목록에 새로운 문서가 현재의 것을 대체한다. 새로운 문서가 열릴 때, replace가 지정되지 않으면, 새로운 문서가 history 목록에 단순히 추가된다.

윈도우를 열 때는 window의 이름을 지정하는 문자열이다. 이 파라메터는 form 혹은 a 엘레멘트의 target 애트리뷰트의 값이 이름으로 사용될 수 있다. 이 값은 문서가 로딩되는 자리로서 새 윈도우로 정의되고 참조될 수 있다.

가능한 값은..

replace 이 값은 새로운 문서를 열어 history 목록에 새로운 문서가 현재의 것을 대체하게 하는데 만 사용된다.
_blank 연결된 문서를 읽어 새로운 빈 윈도우에 표시한다. 윈도우 이름은 없다.
_media 연결된 문서를 읽어 메디아바의 HTML 내용부분에 표시한다. IE6부터 적용된다.
_parent 연결된 문서를 읽어 바로 상위 모체창에 표시한다.
_search 연결된 문서를 읽어 브라우저의 검색창에 표시한다. IE5부터 적용된다.
_self 디폴트이며, 연결된 문서를 읽어 현재창에 표시한다.
_top 연결된 문서를 읽어 최상위 윈도우에 표시한다.

sStatus : (윈도우의 상태)

선택적인 요소이며, 윈도우의 상태를 지정하기 위해 선택적으로 사용하는 윈도우의 특성과 값들의 문자열이다. 많은 경우 yes, no로 설정하는데 대신 1, 0으로 하거나 필요한 항목만 열거하여도 된다.

분리는 컴마(',')로 하고 빈칸을 넣어서는 안되며, 전체를 따옴표의 짝안에 넣어야 한다.
sStatus=
'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=600,height=400,top=100,left=100';
sStatus='toolbar=1,location=0,status=1,menubar=1,scrollbars=1,resizable=1,width=600,height=400,top=100,left=100';
단순한 목록 열거도 가능하다. 이경우 디폴트는 yes이다.
sStatus='toolbar,location,status,menubar,scrollbars,resizable,width=600,height=400,top=100,left=100';

위 세가지는 모두 동일하다.

status 선택 디폴트 설명 비고
channelmode [=yes|no|1|0] no 윈도우를 channelmode로 열 것인가? 윈도우 크기, 위치등 설정 무시
윈도우 디스플레이를 극장모드로 챈널밴드를 천천히한다.
directories [=yes|no|1|0] yes directory buttons를 열 것인가? '연결'
fullscreen [=yes|no|1|0] no 윈도우를 전체화면(F11)으로 열 것인가? 윈도우 크기, 위치등 설정 무시
단추, 메뉴들이 감춰지므로 항상 되돌아 올수 있는 방식을 제공하도록 전체화면으로는 조심해서 사용하라. ALT+F4은 새로운 윈도우를 닫는다. 전체화면 모드는 또한 극장모드(channelmode)이어야 한다.
height =nn (pixels)   높이 픽셀 수치 정수(최소값:100) 윈도우의 높이
left =nn (pixels)   왼쪽에서 오프세트 픽셀 수치 정수로
0과 같거나 보다 커야함
윈도우의 위치 x 좌표
NSscreenX
location [=yes|no|1|0] yes location:box를 열 것인가? '주소(D)' 입력창
menubar [=yes|no|1|0] yes menu bar를 열 것인가? 화일, 편집, 보기,...
resizable [=yes|no|1|0] yes 윈도우 크기 조정을 가능하게 하는가? 드래그로 창 크기 조정 가능
scrollbars [=yes|no|1|0] yes scrollbars를 열 것인가? 상하, 좌우 굴림바가 필요할때 나타남
status [=yes|no|1|0] yes status bar를 열 것인가? 제일 아래 링크, 상태 표시 나오는 줄
titlebar [=yes|no|1|0] yes 제목줄이 보일 것인가? 제목줄이 보인다.
HTA 적용이거나 안전한 대화창에서 호출한 것이 아니면 이 파라메터는 무시된다.
top =nn (pixels)   맨위에서 오프세트 픽셀 수치 정수로
0과 같거나 보다 커야함
윈도우의 위치 y 좌표
NSscreenY
toolbar [=yes|no|1|0] yes toolbar를 열 것인가 ? '뒤로', '앞으로', '중지', '홈'
width =nn (pixels)   너비 픽셀 수치 정수(최소값:100) 윈도우의 너비
statusNS 설명
alwaysLoweredNS yes 항상 다른 윈도우 아래 깔리는 윈도우를 만든다.
alwaysRaisedNS yes 항상 다른 윈도우 위에 뜨는 윈도우를 만든다.
dependentNS yes 새로운 윈도우가 자식창으로 만들어 진다.
모체창이 닫히면 닫히고, 현재 창 프래트폼의 task bar에 나타나지 않는다.
hotkeysNS no security와 종료를 위한 것 이외에는 메뉴바(menubar) 없이 hotkey들의 사용이 중지된다.
innerHeightNS 창 내부 높이를 픽셀단위로 설정한다.
innerWidthNS 창 내부 너비를 픽셀단위로 설정한다.
outerHeightNS 창 외부 높이를 픽셀단위로 설정한다.
outerWidthNS 창 외부 너비를 픽셀단위로 설정한다.
titlebarNS yes 새창은 표준 제목창(title bar)을 갖는다.
z-lockNS yes 새창이 초점을 받았을때 다른창 위에 뜨는 것을 방지한다.

bReplace (기록 대체)
선택적인 요소이며, 동일한 윈도우에 sURL이 로딩되면, 윈도우 방문기록(history) 목록에서 sURL이 새로운 것인가 기존의 문서을 대체할 것인가를 나타내는 부울값이다.
true sURLhistory목록 상에서 기존 문서로 대체한다.
false sURLhistory목록 상에서 새로운 문서로 등록한다.

반환값

반환값 oNewDoc는 새로이 생성된 documentwindow 개체를 참조하는 이름이다. 이 참조로 새 문서나 윈도우의 속성이나 메서드에 접속이 가능하여, 사용자가 윈도우의 속성, 메서드나 해당 윈도우등을 호출할 때 사용하며, 윈도우가 열렸을 때 생성된 변수들은 그 속성들의 호출로 얻을 수 있다.

설명

open 메서드는 writewritein 메서드로부터 출력을 수집하는 흐름을 생성하는 메서드이다.

이 메서드는 두가지 방식으로 작용한다.

open로 연 윈도우를 close 메서드로 닫을 수있다.

특기

window.open(), window.close()document.open(), document.close()는 구별하여야 한다.

이벤트처리자와 open 메서드를 사용하는 경우, 앞에 document. 없이 단순히 open()로 메서드를 호출하는 것은 Javascript 상의 정적 개체로 인해 새로운 document.open()에 해당하는 document 개체를 생성한다. 이는 window 개체가 아니다.

IE6에서는값을 주소(URL)를 Media Bar에 로딩할 수 있도록 sTarget 파라메터의 값에 _media를 지정할 수 있다.

적용
개체scriptIE
documentdocument.open(sUrl,[sTarget],[sFeatures],[bReplace])IE3.02(win16,win32,mac),IE4.0(unix),IE5.5(ce)
참조
open(document) open(window) close(document) close(window)
write writeln onbeforeunload

이 메서드는 (영어)DOM Level 1(Document Object Model Level 1)에서 정의되었다.



method
open 메서드
open</b> 메서드이전페이지로페이지 맨위로페이지 맨아래로

간단한 document.open, close 메서드 예제

<SCRIPT>
function openNewWin(){
  newWin=window.open('','','toolbar=no,scrollbars=no,width=300,height=150,left=300,top=200');
  var str1='<CENTER>안녕하세요 !<BR>';
  var str2='연습입니다.<BR>';
  newWin.document.open('text/html','replace');
  newWin.document.writeln(str1);
  newWin.document.write(str2);
  newWin.document.write('document.mimeType='+document.mimeType+'<BR>');
  newWin.document.write('document.charset='+document.charset+'<BR>');
  newWin.document.writeln('<FORM><INPUT type=button value=닫기 onClick="window.close()>');
  newWin.document.write('</FORM></CENTER>');
  newWin.document.close();
}
</SCRIPT>

<FORM><INPUT type="button" value="새창 열기" onClick="openNewWin()"></FORM>

open, close 메서드 예제 2

<SCRIPT>
function newWinTest(){
  newWin=window.open('','','toolbar=no,scrollbars=no,top=200,left=300,width=170,height=50');
  var str='새창 열기/닫기 예제<BR><BR>';
  str+='<CENTER><INPUT type=button value="닫기" onClick="window.close()"></CENTER>';
  newWin.document.write(str);
}
</SCRIPT>

<FORM><INPUT type="button" value="새창 열기" onClick="newWinTest()"></FORM>

document.open, close 메서드 예제 3

open 메서드로 열 때 새로운 HTML이 현재 문서의 내용을 대체(replace)하므로 원래의 문서의 내용은 없어진다.

<SCRIPT>
function doReplace(){
  var oNewDoc=document.open('text/html','replace');
  var newHTML='<HTML><HEAD><TITLE>새로운 문서</TITLE><BODY><DIV style=margin:10em;text-align:center>';
  newHTML+='문서 본체가 바뀐 새 문서<BR><BR>원래의 문서가 없어짐<BR><BR>';
  newHTML+='<A href=javascript:history.back()>이전 페이지로</A>';
  newHTML+='</DIV></BODY></HTML>';
  oNewDoc.write(newHTML);
  oNewDoc.close();
}
</SCRIPT>
<BUTTON onclick="doReplace();">클릭하여 문서의 내용을 바뀐다.</BUTTON>

document.open, close 메서드 예제 3

빈 문서로 디폴트 상태의 window.open()을 호출하여 윈도우가 열린다.

<SCRIPT>
function openNew(){
  open('about:blank');
}
</SCRIPT>
<BUTTON onclick=openNew()>빈문서의 윈도우 열기.</BUTTON>

document.open 메서드 예제 3

개체의 어떤 이벤트가 open 메서드를 호출하면, document.open()의 의미가 함축된다.
단추를 클릭하면 document.open()이 호출된다.

<BUTTON onclick="open('exp/wnewdoc.html');">단추를 클릭하여 문서를 연다.</BUTTON>
method
open 메서드
견본
이전페이지로페이지 맨위로
최종 수정:
05/17/2025 07:23:42
KoXo Homepage
All right reserved
비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다.
오류가 나면 정상적 접속으로 시도해 보세요.
http://koxo.com/lang/js/method/open_document.html