새로운 document 개체를 연다.
![]() | Script | [oNewDoc=]document.open(sUrl,[sTarget],[sFeatures],[bReplace]) |
필수적인 요소이며, 새로운 문서를 여는 메서드이다.
필수적인 요소이며, 새로운 문서를 열 때 sUrl은 document의 MIME(Multipurpose Internet Mail Extensions) 타입을 지정하는 문자열이다.
mimeType : (미메 타입)은 선택적인 요소이며, 새로 작성할 문서의 종류이다.
인수가 제공되지 않으면 'text/html'이 디폴트값이 적용되고, 현재로서는 미메타입만 지원된다.
새로운 윈도우를 열 때 sUrl은 새로운 window에 표시될 문서의 주소를 나타내는 문자열이다.
sUrl이 지정되어 있지 않으면 about:blank로 새로운 윈도우가 디스플레이된다.
선택적인 요소이며, 새로운 문서가 열릴 때, sTarget에 문자열 replace을 지정하면 history 목록에 새로운 문서가 현재의 것을 대체한다. 새로운 문서가 열릴 때, replace가 지정되지 않으면, 새로운 문서가 history 목록에 단순히 추가된다.
윈도우를 열 때는 window의 이름을 지정하는 문자열이다. 이 파라메터는 form 혹은 a 엘레멘트의 target 애트리뷰트의 값이 이름으로 사용될 수 있다. 이 값은 문서가 로딩되는 자리로서 새 윈도우로 정의되고 참조될 수 있다.
가능한 값은..
replace | 이 값은 새로운 문서를 열어 history 목록에 새로운 문서가 현재의 것을 대체하게 하는데 만 사용된다. |
_blank | 연결된 문서를 읽어 새로운 빈 윈도우에 표시한다. 윈도우 이름은 없다. |
_media | 연결된 문서를 읽어 메디아바의 HTML 내용부분에 표시한다. IE6부터 적용된다. |
_parent | 연결된 문서를 읽어 바로 상위 모체창에 표시한다. |
_search | 연결된 문서를 읽어 브라우저의 검색창에 표시한다. IE5부터 적용된다. |
_self | 디폴트이며, 연결된 문서를 읽어 현재창에 표시한다. |
_top | 연결된 문서를 읽어 최상위 윈도우에 표시한다. |
선택적인 요소이며, 윈도우의 상태를 지정하기 위해 선택적으로 사용하는 윈도우의 특성과 값들의 문자열이다. 많은 경우 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 | 새창이 초점을 받았을때 다른창 위에 뜨는 것을 방지한다. |
true | sURL을 history목록 상에서 기존 문서로 대체한다. |
false | sURL을 history목록 상에서 새로운 문서로 등록한다. |
반환값 oNewDoc는 새로이 생성된 document나 window 개체를 참조하는 이름이다. 이 참조로 새 문서나 윈도우의 속성이나 메서드에 접속이 가능하여, 사용자가 윈도우의 속성, 메서드나 해당 윈도우등을 호출할 때 사용하며, 윈도우가 열렸을 때 생성된 변수들은 그 속성들의 호출로 얻을 수 있다.
이 open 메서드는 write나 writein 메서드로부터 출력을 수집하는 흐름을 생성하는 메서드이다.
이 메서드는 두가지 방식으로 작용한다.write와 writeln 메서드로 출력하기 위한 내용을 수집하기 위하여 문서를 연다. 이경우 처음의 sUrl와 sTarget 두가지 파라메터만 사용된다.
추가적인 파라메터들이 지정되면, 이 메서드는 window를 열기위한 window.open 메서드와 같이 윈도우를 연다.
이 open로 연 윈도우를 close 메서드로 닫을 수있다.
window.open(), window.close()와 document.open(), document.close()는 구별하여야 한다.
이벤트처리자와 open 메서드를 사용하는 경우, 앞에 document. 없이 단순히 open()로 메서드를 호출하는 것은 Javascript 상의 정적 개체로 인해 새로운 document.open()에 해당하는 document 개체를 생성한다. 이는 window 개체가 아니다.
IE6에서는값을 주소(URL)를 Media Bar에 로딩할 수 있도록 sTarget 파라메터의 값에 _media를 지정할 수 있다.
개체 | script | IE |
---|---|---|
document | document.open(sUrl,[sTarget],[sFeatures],[bReplace]) | IE3.02(win16,win32,mac),IE4.0(unix),IE5.5(ce) |
이 메서드는 (영어)DOM Level 1(Document Object Model Level 1)에서 정의되었다.
버전 | JScript 버전 1 | Javascript 버전 1.0 |
![]() | open 메서드⇒ | ![]() | ![]() ![]() ![]() |
<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>
<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>
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>
빈 문서로 디폴트 상태의 window.open()을 호출하여 윈도우가 열린다.
<SCRIPT> function openNew(){ open('about:blank'); } </SCRIPT> <BUTTON onclick=openNew()>빈문서의 윈도우 열기.</BUTTON>
개체의 어떤 이벤트가 open 메서드를 호출하면, document.open()의 의미가 함축된다.
단추를 클릭하면 document.open()이 호출된다.
<BUTTON onclick="open('exp/wnewdoc.html');">단추를 클릭하여 문서를 연다.</BUTTON>
![]() | open 메서드 | ⇒ | ![]() ![]() |
최종 수정: 05/17/2025 07:23:42 | ![]() All right reserved | 비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다. 오류가 나면 정상적 접속으로 시도해 보세요. | http://koxo.com/lang/js/method/open_document.html |