브라우저 윈도우에 읽어들여진 HTML 문서를 나타내는 개체로 document 내에 포함된 html element, text 와 document에 대한 정보를 이용하기 위해 사용되는 개체이다.
property(속성)
|
method(메써드)
|
event handlers
|
netscape6.0
|
Expolorer
|
netscape6.0
|
Explorer
|
공통
|
title |
title |
captureEvents |
|
onBlur |
|
URL |
close |
close |
onClick |
domain |
domain |
|
|
onDblClick |
width |
|
open |
open |
onFocus |
height |
|
releaseEvents |
|
onKeyDown |
linkColor |
linkColor |
routeEvent |
|
onKeyPress |
alinkColor |
alinkColor |
write |
write |
onKeyUp |
vlinkColor |
vlinkColor |
writeln |
writeln |
onMouseDown |
bgColor |
bgColor |
|
clear |
onMouseUp |
fgColor |
fgColor |
addEventListener |
attachEvent |
onMouseOver |
links |
links |
removeEventListener |
detachEvent |
onMouseOut |
lastModified |
lastModified |
|
createElement |
onResize |
referrer |
referrer |
createElement |
|
|
forms |
forms |
createTextNode |
createTextNode |
|
anchors |
anchors |
createAttribute |
|
|
images |
images |
createDocumentFragment |
|
|
embeds |
embeds |
getElementById |
getElementById |
|
plugins |
|
getElementsByName |
getElementsByName |
|
applets |
applets |
getElementsByTagName |
getElementsByTagName |
|
cookie |
cookie |
insertBefore |
|
|
|
activeElement |
replaceChild |
|
|
|
defaultCharset |
removeChild |
|
|
|
designMode |
../data/lecture/hcjd/appendixcdChild |
|
|
|
dir |
hasChildNodes |
|
|
|
uniqueID |
cloneNode |
|
|
documentElement |
documentElement |
|
createEventObject |
|
|
expando |
|
createStyleSheet |
|
|
fileCreatedDate |
|
elementFromPoint |
|
|
fileModifiedDate |
|
execCommand |
|
|
fileSize |
|
hasFocus |
|
|
media |
|
mergeAttributes |
|
|
parentWindow |
|
mergeAttributes |
|
|
protocol |
|
setActive |
|
|
readyState |
|
|
|
|
URLUnencoded |
|
|
|
|
script-xs |
|
|
|
|
all |
|
|
|
|
frames |
|
|
|
styleSheets |
stylesheets |
|
|
|
|
children |
|
|
|
|
childNodes |
|
|
|
body |
body |
|
|
|
location |
|
|
|
|
ownerDocument |
|
|
|
|
nodeName |
|
|
|
|
nodeType |
|
|
|
|
nodeValue |
|
|
|
|
parentNode |
|
|
|
|
childNodes |
|
|
|
|
firstChild |
|
|
|
|
lastChild |
|
|
|
|
previousSibling |
|
|
|
|
nextSibling |
|
|
|
|
attributes |
|
|
|
|
< 속성 >
title
문서의 제목을 나타내는 속성으로 html에서 title태그 사이에 위치한 값을 자바스크립트에서 반영한 것이다. 문서가 제목을 가지면 그 제목이 이 속성의 값이 되고 그렇지 않으면 null이다.
URL
문서의 전체 url을 나타내는 속성이다. 이것은 통상 문서를 읽어 들일 때 지정한 window.location.href와 일치한다. 그러나 redirection은 location.href를 변경한다.
domain
문서를 제공하는 서버의 도메인 이름을 의미한다.
width, height
윈도우의 넓이와 높이가 아니라 현재 document의 넓이와 높이를 나타내는 속성으로 넓이와 높이를 별도로 지정하지 않았고 브라우저에서 스크롤 막대가 생기지 않으면 window.innerWidth, window.innerHeight과 같다.
width.html
이 예는 explorer에서는 실행되지 않는다.
<html>
<head>
<title>document</title>
<script-x language="JavaScript-x">
<!--
function widfun(){
var win1=window.open('','','width=250,height=350')
win1.document.write("document.width = " + document.width + "<p>");
win1.document.write("document.height = " + document.height + "<p>");
win1.document.write("window.innerWidth = " + window.innerWidth + "<p>");
win1.document.write("window.innerHeight = " + window.innerHeight + "<p>");
win1.document.write("window.outerWidth = " + window.outerWidth + "<p>");
win1.document.write("window.outerHeight = " + window.outerHeight + "<p>");
win1.document.write("window.pageXOffset = " + window.pageXOffset + "<p>");
win1.document.write("window.pageYOffset = " + window.pageYOffset + "<p>");
win1.document.write("window.screenX = " + window.screenX + "<p>");
win1.document.write("window.screenY = " + window.screenY );
win1.document.close()
}
// -->
</script-x>
</head>
<body>
<p>1</p><p>2</p><p>3</p><p>4</p>
<form name="oform">
<p><input type="button" name="titlebutton" value="docuemnt title 확인 버튼" OnClick="widfun();"></p>
</form>
<p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p>
</body>
</html>
win1.document.write("document.width = " + document.width + "<p>");
win1 윈도우에 document의 넓이를 쓴다.
win1.document.write("document.height = " + document.height + "<p>");
win1 윈도우에 document의 높이를 쓴다.
나머지 window 속성에 대해서는 widnow 개체 부분을 보라.
< color 관련 속성 >
linkColor
문서에서 링크의 색을 지정하는 속성으로 body 태그의 link 속성을 자바스크립트에서 반영한 것이다. 색 속성은 16진수 rgb값 또는 색의 이름으로 표시될 수 있다.
예
document.linkColor="aqua"
document.linkColor="00FFFF"
alinkColor - 마우스 버튼을 눌렀을 때 링크 색을 지정하는 속성으로 body 태그의 alink 속성을 자바스크립트에서 반영한 것이다.
예
document.alinkColor="aqua"
document.alinkColor="00FFFF"
vlinkcolor - 방문했던 링크의 색을 지정하는 속성으로 body태그의 vlink속성을 자바스크립트에서 반영한 것이다.
예
document.vlinkColor="aqua"
document.vlinkColor="00FFFF"
bgColor - 문서의 배경색을 지정하는 속성이다. 이것은 body 태그의 bgcolor 속성을 반영한 것이다.
예
document.bgColor="aqua"
document.bgColor="00FFFF"
fgColor - 문서의 글꼴의 색을 지정하는 속성이으로 body태그의 text 속성을 자바스립트에서 반영한 것이다.
color.html
<html>
<head>
<title>color</title>
<script-x language="JavaScript-x">
<!-- JavaScript-x
function colorfun(){
document.alinkColor="yellow"
document.vlinkColor="green"
document.linkColor="red"
document.bgColor="gray"
document.fgColor="black"
}
// - JavaScript-x - -->
</script-x>
</head>
<body onLoad="colorfun();">
<p><a href="http://www.microsoft.co.kr">링크1</a></p>
<p><a href="http://www.netscape.com">링크2</a></p>
<p><a href="http://www.Xpert.com">링크3</a></p>
</body>
</html>
document.alinkColor="yellow"
링크를 클릭했을 때 링크의 색을 노란색으로 지정한다.
document.vlinkColor="green"
방문했던 링크의 색을 녹색으로 지정한다.
document.linkColor="red"
링크의 색을 빨간색으로 지정한다.
document.bgColor="gray"
배경색을 회색으로 지정한다.
document.fgColor="black"
전경색(문자의 색)을 검정색으로 지정한다.
lastModified
문서의 최종 변경일을 나타내는 속성으로 서버가 이 정보를 제공하지 않는다면 자바스크립트는 0을 받게 되는데 이것은 GMT 1970년 1월 1일 0시 0분 0초를 의미한다.
lastmodified.htm
<html>
<head>
<title>lastModified</title>
<script-x language="JavaScript-x">
<!-- JavaScript-x
function modifiedfun(){
alert(document.lastModified);
}
// - JavaScript-x - -->
</script-x>
</head>
<body onLoad="modifiedfun();">
</body>
</html>
alert(document.lastModified);
문서의 최종 변경일을 경고 상자에 보여준다. 아래와 같은 상자가 나타날 것이다.
tags, classes, ids
netscape6.x에서 페지 되었다.
formName
문서에서 각각의 폼의 이름을 나타내는 속성이다.
예)
폼의 이름이 firstform라고 가정하면 document.firstform을 이용함으로써 이 폼을 참고할 수 있다.
form을 참고하는 방법에 대해서는 form 개체 부분을 참고하라.
referrer
사용자가 링크를 클릭할 때 호출하는 문서의 url을 나타내는 속성으로 사용자가 소스 문서에서 링크 개체를 클릭함으로써 목적 문서를 탐색할 때 referrer 속성은 소스 문서의 url을 포함한다.
중요
현재 문서가 www.netscape.com/index.html이라고 하자 여기에 www.microsoft.co.kr로 이동하는 링크를 클릭함으로 microsoft로 이동하였다고 하자 이 microsoft의 referrer속성은 www.netscape.com/index.html이 되는 것이다.
forms
문서에서 폼의 순서에 따라 배열이 만들어짐으로써 지정된 배열순서에 따라 폼을 참조할 수 있도록 하는 속성이다. 배열은 0부터 시작한다. 예컨대 N개의 폼이 이름이 차례대로 firstform, secondform, thirdform, ... Nform라고 하자 그러면 다음과 같이 폼의 순서에 따라 폼을 참조할 수 있다. 이것은 폼의 이름이 같을 때 이름으로 참조하려고 하면 두 개 이상의 폼이 이름이 같기 때문에 이름으로서 참조할 수 없게 된다. 이 때 폼의 배열 순서를 이용함으로 참조 할 수 있다 .
document.forms[0] = document.forms["firstform"] = document.firstform
document.forms[1] = document.forms["secondform"] = document.secondform
document.forms[2] = document.forms["thirdform"] = document.thirdform
document.forms[N] = document.forms["Nform"] = document.Nform
links
Area와 link개체의 소스순서에 대응하는 개체 배열을 나타내는 속성이다. 참고하는 방법에 대해서는 앞의 forms부분을 보라
anchors
소스 순서에서 anchor에 대응하는 개체의 배열을 나타내는 속성으로 배열로서 참고하는 방법은 앞의 forms와 동일하다
images
소스 순서에서 image 개체에 대응하는 배열을 나타내는 속성으로 배열을 참고하는 방법은 앞의 forms와 동일하다.
embeds
문서에 삽입된 각각의 개체의 소스 순서에 따른 배열을 나타내는 속성으로 배열을 참고하는 방법은 forms와 동일하다
layers
소스순서에서 layer개체에 대응하는 배열을 나타내는 속성이다. 배열을 이용방법에 대해서는 forms 부분을 보라, netscape6.0에서 페지되었다.
plugins
소스 순서에서 plugin개체에 대응하는 배열을 나타내는 속성이다. 배열을 이용방법에 대해서는 forms 부분을 보라
applets
소스순서에서 applet개체에 대응하는 배열을 나타내는 속성이다. 배열을 참조하는 방법에 대해서는 forms 부분을 보라
cookie
쿠기라는 것은 브라우저에 의해 cookies.txt파일에 저장된 작은 정보의 조각을 의미하는데 문서와 관련된 cookie를 나타내는 속성이다. 쿠키에 저장된 값을 확인하기 위해 substring, charAt, indexOf, lastIndexOf 같은 string 매서드를 사용해야 한다.
document.cookie [ = sCookie ]
sCookie로 지정할 수 있는 것은 아래와 같다.
name=value; ①expires=date; ②domain=domainname; ③path=path; ④secure
①expires=date; |
쿠키의 유효기간을 지정하는 것으로 유효기간을 지정하지 않으면 브라우저를 닫으면 유효기간이 종료해 쿠키가 지워지고 미래의 날짜를 유효기간으로 지정하면 쿠키는 브라우저를 통해 저장된다. 과거의 날짜를 지정하면 쿠키는 지워진다. date를 지정하기 위해서는 GMT 형식을 사용해야 한다. |
②domain=domainname; |
설정한 쿠키를 이용할 수 있도록 허용하는 도메인을 지정한다. |
③path=path; |
설정한 쿠키를 이용할 문서의 경로를 지정한다. |
④secure; |
secure로 쿠키를 설정하면 저장된 쿠키 정보는 보안이 유지된 상태에서만 접근할 수 있다. |
cookie.htm
이 예는 보안상의 문제로 비밀번호를 저장하지 않고 ID만을 저장하도록 쿠키를 이용해 만든 것이다.
<html>
<head>
<title>cookie</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=euc-kr">
<SCRIPT-x>
function SetCookie(sName, sValue){
if(document.form1.saveid.checked){
var today = new Date();
today.setDate( today.getDate() + 365 );
document.cookie = sName + "=" + escape(sValue) + "; expires=" + today.toGMTString();
}
window.location= "http://www.dialpad.co.kr"
}
function GetCookie(sName){
var cookiepiece = document.cookie.split("; ");
for (var i=0; i < cookiepiece.length; i++)
{
var piece = cookiepiece[i].split("=");
if (sName == piece[0]){
document.form1.oid.value=(unescape(piece[1]));
}
}
}
</SCRIPT-x>
<style>
<!--
#saveid { background-color:rgb(204,204,204); border-width:2; border-color:black; border-style:solid; }
.colortxt { color:black; }
-->
</style>
</head>
<body onload="GetCookie('saveid');">
<p>
<div id="saveid" style="width:344px; height:97px; position:absolute; left:64px; top:35px; z-index:1;">
<form name="form1">
<br> <font color="black"><b>아이디</b></font> :
<input type="text" name="oid" maxlength="10" size="15">
<input type="checkbox" name="saveid"><font color="black"><b>아이디 저장</b></font> <br>
<font color="black"><b>비밀번호</b></font>: <input type="password" name="password" maxlength="10" size="15">
<input class="colortxt" type="button" name="gobtn" value="go-입장" onclick="SetCookie('saveid', this.form.oid.value);" >
</p>
</form>
</div>
</body>
</html>
function SetCookie(sName, sValue){
이 함수는 쿠기의 이름과 이름 값으로 사용할 사용자가 입력한 id를 매개변수로 받는다.
if(document.form1.saveid.checked){
사용자가 id 저장을 체크했다면 이 조건식에 속한 명령문이 실행된다.
var today = new Date();
today.setDate( today.getDate() + 365 );
document.cookie = sName + "=" + escape(sValue) + "; expires=" + today.toGMTString();
현재 날짜에서 365일을 더한 값을 쿠키의 유효기간으로 지정해서 사용자가 입력한 id를 cookie에 저장한다.
}
window.location= http://www.dialpad.co.kr
현재 윈도우에 dialpad를 읽어들인다.
}
function GetCookie(sName){
var cookiepiece = document.cookie.split("; ");
쿠키의 각각의 속성은 세미콜론으로 구별한다고 했는데 각각의 속성들을 배열을 만들기 위해 split 매서드를 이용해서 만든 배열을 변수 cookiepiece 변수에 대입한다. split 매서드에 대해서는 string 개체를 보면 된다.
for (var i=0; i < cookiepiece.length; i++)
배열의 각각의 속성과 속성값을 확인하기 위해 for 명령문을 사용한다.
{
var piece = cookiepiece[i].split("=");
split 매서드를 이용해서 만든 배열에서 속성과 속성 값을 구별해내기 위해 다시 split 매서드를 사용해서 만든 배열을 변수 piece에 대입한다. 이렇게 만든 배열은 2개의 배열을 가지게 되는데 첫 번째는 속성이고 두 번째는 속성 값이다.
if (sName == piece[0]){
document.form1.oid.value=(unescape(piece[1]));
piece라는 변수의 첫 번째 배열은 속성의 이름이 되는데 속성이름이 매개변수로 지정한 이름과 같다면 그 속성의 값을 oid라는 id 입력 텍스트 박스에 대입한다.
<body onload="GetCookie('saveid');">
문서를 읽어들이기을 완료했다면 저장된 id를 자동으로 id 텍스트 박스에 입력하기 위해 GetCookie 함수를 호출한다.
activeElement
parent document가 초점을 받을 때 초점을 받은 개체를 나타내는 속성이다.
document.activeElement
defaultCharset
문서의 기본 문자셑을 나타내는 속성이다. 보기 > 인코딩을 변경하면서 확인해 보라 한국어로 지정한 경우에는 ks_c_5601-1987로 나타날 것이다
[ string = ] document.defaultCharset
string: 기본 문자셑을 나타내는 string
designMode
document가 편집될 수 있는지 없는지를 나타내거나 지정하는 속성이다.
document.designMode [ = string ]
string:string으로 지정될 수 있는 것은 다음과 같다.
On |
Document 편집될 수 있다. |
Off | Inherit |
기본값으로 편집될 수 없다. |
DIR
개체를 읽어들이는 순서를 나타내는 속성이다.
object.dir [ = string]
string: string으로 지정할 수 있는 것은 다음과 같다.
ltr |
기본값으로 왼쪽에서 오른쪽으로 읽어들인다. |
rtl |
오른쪽에서 왼쪽으로 읽어들인다. |
uniqueID
개체를 인식하는 유일한 인식자를 만드는 속성이다.
[ string = ] object.uniqueID
string: 개체를 인식하는 유일한 인식자를 나타내는 stirng
documentElement
document 의 근본(최 상위) node를 나타내는 속성으로 HTML 문서인 경우에는 explorer, netscape6.x에서는 HTML 개체이다.
[ object = ] document.documentElement
object: 최 상위 node를 나타내는 개체
expando
개체내에서 임의의 변수(속성)를 만들 수 있을 지를 지정하는 속성이다.
document.expando [ = boolean ]
boolean: 값으로 지정할 수 있는 것은 다음과 같다.
true |
기본값으로 임의의 변수를 만드는 것을 허용한다. |
false |
임의의 변수를 만드는 것을 허용하지 않는다. |
fileCreatedDate
파일이 만들어진 날짜를 나타내는 속성이다.
[ string= ] object.fileCreatedDate
string: 파일이 만들어진 날짜를 나타내는 string
fileModifiedDate
파일이 마지막으로 변경된 날짜를 나타내는 속성이다.
[ string = ] object.fileModifiedDate
string: 파일이 마지막으로 변경된 날짜를 나타내는 string
fileSize
파일 크기를 나타내는 속성이다.
[string = ] object.fileSize
string: 파일의 크기를 나타내는 string
filesize.htm
<html>
<head>
<title>fileCreatedDate-fileModifiedDate-fileSize</title>
<script-x language="JavaScript-x">
<!-- JavaScript-x
var oCreated=document.fileCreatedDate;
var oModified=document.fileModifiedDate;
var oFilesize=document.fileSize;
document.write("fileCreatedDate: " + oCreated + "<p>");
document.write("fileModifiedDate: " + oModified + "<p>" );
document.write("fileSize: " + oFilesize)
document.close();
// - JavaScript-x - -->
</script-x>
</head>
<body >
<p> </p>
</body>
</html>
var oCreated=document.fileCreatedDate;
파일이 만들어진 날짜를 변수 oCreated에 대입한다.
var oModified=document.fileModifiedDate;
파일이 변경된 날짜를 변수 oModifed에 대입한다.
var oFilesize=document.fileSize;
파일크기를 변수 oFilesize에 대입한다.
document.write("fileCreatedDate: " + oCreated + "<p>");
파일이 만들어진 날짜를 document에 쓴다.
document.write("fileModifiedDate: " + oModified + "<p>" );
파일이 변경된 날짜를 document에 쓴다.
document.write("fileSize: " + oFilesize)
파일의 크기를 document에 쓴다.
document.close();
이제 문서를 다 작성했음으로 열린 스트림을 닫고 모아진 내용물을 보여준다.
parentWindow
현재 document 개체를 포함하는 window 개체를 참조하는 속성이다.
[ object = ] document.parentWindow
protocol
url의 protocol 부분(콜론 포함)만을 나타내는 속성이다. protoco이라는 것은 컴퓨터 간에 정보를 주고 받는 규칙을 말하는 것이다.
object.protocol [ = string ]
string: 정보를 주고 받는데 사용할 프로토콜
readyState
개체의 현재 상태를 나타내는 속성이다.
[String = ] object.readyState
String: 개체 상태를 나타내는 string
uninitialized |
개체가 data를 초기화하기 않을 때 |
loading |
개체가 data를 읽어들이고 있을 때 |
loaded |
개체가 data를 읽어들이는 것을 완료했을 때 |
interactivedate |
를 전부 읽어들이지는 않았지만 사용자와 개체가 상호 이용이 가능할 때 |
complete |
개체가 완전히 초기화되었을 때 |
URLUnencoded
url에서는 빈칸 등 특수문자는 특정한 형태로 변환되어야 하는데 변환되지 않은 문서의 url을 나타내는 속성이다.
[ surl = ] document.URLUnencoded