스크립트 엔진으로 처리될 스크립트를 참조한다.

Script [propVal=]..propName;
HTML propName="propVal">innerString
특기

기능함수(function) 속에 있는 스크립트를 제외하고 SCRIPT는 문서가 로딩되는 즉시 수행된다. 버전이 낮아 스크립트 수행이 안되는 브라우서를 위하여 SCRIPT을 주석(COMMENT) 블럭에 넣는 것이 좋다.

<SCRIPT Language="Javascript">
<!-- 감춤
Javascript Codes
// 감춤 끝  -->
</SCRIPT>

FRAMESET 엘레멘트 다음에 나오는 스크립트는 무시된다.

SCRIPT 개체에 language 속성이 지정되지 않으면 MSHTML은 적당한 스크립트 엔진을 찾도록 시도한다. 스크립트 엔진을 잘못 선택하면 일반적으로 오류가 발생된다. 한 문서에서 두개 이상의 SCRIPT 개체를 사용하는 경우에는 각 SCRIPT 개체의 language 애트리뷰트를 지정하는 것이 바람직하다.

문서에서 SCRIPT 개체들의 순서도 중요할 수 있다. 특히 이벤트처리자들이 문서 속에서 여러개의 엘레멘트를 다룰 때 그러하다. XML(Extensible Markup Language)은 SCRIPT 내용으로는 적합하지만 스크립트 언어는 아니다. 그래서 MSHTML에서 XML 데이터 지역(island)으로 이벤트처리자 기능을 갖는 SCRIPT 개체를 지정하면 오류가 발생될 수 있다. 이는 MSHTML이 이벤트처리자들를 위한 디폴트 스크립트 블럭의 language 애트리뷰트를 포함하는 첫번째 SCRIPT 개체를 선택하기 때문이다. 예제를 참조하라.

이 개체는 IE3.0에서 지원되고 스크립트는 IE4.0에서 부터 지원된다.

이 엘레멘트는 표현되지 않는다.

이 엘레멘트는 종료태그가 필요하다.

참조
XML Data Islands

이 개체는 (영문)HTML3.2에 정의되었고 (영문)DOM Level 1(W3C Document Object Model)에 정의되었다.


설명을 위한 예제

앞 형제 SPAN뒤 형제 SPAN
<SPAN>앞 형제 SPAN</SPAN><SCRIPT id=oObj lang=ko language=javascript title="script 제목" for=onclick name="scriptName" lang=ko language=JavaScript charset=euc-kr type=text/javascript>document.write("<FONT color=blue>Javascript로 예제 문자열</FONT>")</SCRIPT><SPAN>뒤 형제 SPAN</SPAN>

컬렉션설명과 예제 코드결과참고
all 개체에 포함되어 있는 모든 엘레멘트들의 배열변수를 참조하고 반환한다.
<SCRIPT>document.write(oObj.all.length)</SCRIPT>
attributes 개체의 애트리뷰트(attribute 개체)들의 배열변수를 참조하고 반환한다.
<SCRIPT>document.write(oObj.attributes.length)</SCRIPT>
behaviorUrns 엘레멘트에 첨부된 비해이버(behavior)들을 인식하는 주소(URN) 문자열들의 배열변수를 참조하고 반환한다.
<SCRIPT>document.write(oObj.behaviorUrns.length)</SCRIPT>
childNodes 개체의 바로 종속된 자식들의 엘레멘트 개체들과 TextNode 개체들의 배열변수를 참조하고 반환한다.
<SCRIPT>document.write(oObj.childNodes.length)</SCRIPT>
children 개체의 바로 종속된 DHTML 개체들인 자식들의 배열변수를 참조하고 반환한다.
<SCRIPT>document.write(oObj.children.length)</SCRIPT>

canHaveHTML 속성 IE
⇒ 개체가 HTML 태그들을 가질 수 있는가를 부울값으로 반환한다.
문법: [bVal=].canHaveHTML
코드: document.write(oObj.canHaveHTML); 결과:
charset 속성 IE (charset="sVal"> 애트리뷰트)
⇒ 개체 엔코딩에 사용된 글자세트를 반환하거나 지정한다.
문법: [sVal=].charset
코드: document.write(oObj.charset); 결과:
clientHeight 속성 IE
⇒ 블럭 개체의 높이를 픽셀단위로 반환한다.
문법: [iVal=].clientHeight
코드: document.write(oObj.clientHeight); 결과:
clientLeft 속성 IE
offsetLeft 속성과 실제적인 사용자 지역의 왼쪽 모서리와의 거리를 픽셀단위로 반환한다.
문법: [iVal=].clientLeft
코드: document.write(oObj.clientLeft); 결과:
clientTop 속성 IE
offsetTop 속성과 실제적인 사용자 지역의 위쪽 모서리와의 거리를 픽셀단위로 반환한다.
문법: [iVal=].clientTop
코드: document.write(oObj.clientTop); 결과:
clientWidth 속성 IE
⇒ 블럭 개체의 너비를 픽셀단위로 반환한다.
문법: [iVal=].clientWidth
코드: document.write(oObj.clientWidth); 결과:
defer 속성 IE (defer="bVal"> 애트리뷰트)
⇒ 스크립트의 상태를 반환하거나 설정한다.
문법: .defer[=bVal]
코드: document.write(oObj.defer); 결과:
disabled 속성 IE (disabled[=true|false]> 애트리뷰트)
⇒ 사용자가 개체에서 작업할 수 있는가를 부울값으로 반환하거나 설정한다.
문법: .disabled[=true|false]
코드: document.write(oObj.disabled); 결과:
event 속성 IE (event="sVal"> 애트리뷰트)
⇒ 스크립트로 쓰여진 이벤트를 반환하거나 설정한다.
문법: .event[=sVal]
코드: document.write(oObj.event); 결과:
firstChild 속성 IE
⇒ 개체의 childNodes 컬렉션에서 제일 먼저 자식 개체을 반환한다.
문법: [oVal=].firstChild
코드: document.write(oObj.firstChild); 결과:
코드: if (oObj.firstChild) document.write(oObj.firstChild.nodeName); 결과:
htmlFor 속성 IE (for="sVal"> 애트리뷰트)
⇒ 이벤트 스크립트에 연결된 개체를 반환하거나 설정한다.
문법: .htmlFor[=sVal]
코드: document.write(oObj.htmlFor); 결과:
id 속성 IE (id=sVal> 애트리뷰트)
⇒ 개체를 대표하는 인식자 문자열을 반환하거나 지정한다.
문법: .id[=sVal]
코드: document.write(oObj.id); 결과:
innerText 속성 IE
⇒ 개체의 내용 문자열을 반환하거나 지정한다.
문법: .innerText[=sVal]
코드: document.write(oObj.innerText.length); 결과:
isContentEditable 속성 IE
⇒ 사용자가 개체의 내용을 편집할 수 있는가를 부울값으로 반환한다.
문법: [bVal=].isContentEditable
코드: document.write(oObj.isContentEditable); 결과:
isDisabled 속성 IE
⇒ 개체가 불활성화 되었는가를 부울값으로 반환한다.
문법: [bVal=].isDisabled
코드: document.write(oObj.isDisabled); 결과:
isMultiLine 속성 IE
⇒ 개체가 여러줄로 되어있는가를 부울값으로 반환한다.
문법: [bVal=].isMultiLine
코드: document.write(oObj.isMultiLine); 결과:
isTextEdit 속성 IE
⇒ 개체속에서 TextRange 개체를 생성할수 있는가를 부울값으로 반환한다.
문법: [bVal=].isTextEdit
코드: document.write(oObj.isTextEdit); 결과:
lang 속성 IE (lang="sVal"> 애트리뷰트)
⇒ 개체에서 사용한 언어코드를 반환하거나 설정한다.
문법: .lang[=sVal]
코드: document.write(oObj.lang); 결과:
language 속성 IE (language="sVal"> 애트리뷰트)
⇒ 개체에서 사용한 스크립트 언어를 반환하거나 설정한다.
문법: .language[=sVal]
코드: document.write(oObj.language); 결과:
lastChild 속성 IE
⇒ 개체의 childNodes 컬렉션에서 마지막 자식 개체을 반환한다.
문법: [oVal=].lastChild
코드: document.write(oObj.lastChild; 결과:
코드: if (oObj.lastChild) document.write(oObj.lastChild.innerText); 결과:
nextSibling 속성 IE
⇒ 개체의 다음 형제(같은 모체의 다음 자식) 개체을 반환한다.
문법: [oVal=].nextSibling
코드: document.write(oObj.nextSibling); 결과:
코드: if (oObj.nextSibling) document.write(oObj.nextSibling.innerText); 결과:
nodeName 속성 IE
⇒ 개체의 특정 노드(node) 타입 이름을 반환한다.
문법: [sVal=].nodeName
코드: document.write(oObj.nodeName); 결과:
nodeType 속성 IE
⇒ 개체의 특정 노드(node)의 종류를 반환한다.
문법: [iVal=].nodeType
코드: document.write(oObj.nodeType); 결과:
nodeValue 속성 IE
⇒ 개체의 특정 노드(node)의 값을 반환한다.
문법: [oVal=].nodeValue
코드: document.write(oObj.nodeValue); 결과:
ownerDocument 속성 IE6
⇒ 노드(node)에 연관한 document 개체를 반환하거나 설정한다.
문법: .ownerDocument[=oVal]
코드: document.write(oObj.ownerDocument); 결과:
코드: document.write(oObj.ownerDocument.nodeName); 결과:
parentElement 속성 IE
⇒ 체계 구조상 부모 엘레멘트 개체를 반환한다.
문법: [oVal=].parentElement
코드: document.write(oObj.parentElement); 결과:
코드: document.write(oObj.parentElement.nodeName); 결과:
parentNode 속성 IE
⇒ 구조상 부모 엘레멘트 개체를 반환한다.
문법: [oVal=].parentNode
코드: document.write(oObj.parentNode); 결과:
코드: document.write(oObj.parentNode.nodeName); 결과:
parentTextEdit 속성 IE
⇒ 구조상 원본 개체를 포함하고 있는 용기 개체속에서 TextRange 개체를 생성할 수 있는 용기 개체를 반환한다.
문법: [oVal=].parentTextEdit
코드: document.write(oObj.parentTextEdit); 결과:
previousSibling 속성 IE
⇒ 개체의 다음 형제(같은 모체의 다음 자식) 개체을 반환한다.
문법: [oVal=].previousSibling
코드: document.write(oObj.previousSibling); 결과:
코드: if (oObj.previousSibling) document.write(oObj.previousSibling.innerText); 결과:
readyState 속성 IE
⇒ 개체의 현재 상태를 반환한다.
문법: [sVal=].readyState
코드: document.write(oObj.readyState); 결과:
코드: <SPAN id=SwRS></SPAN>&nbsp;<BUTTON onclick="SwRS.innerText=oObj.readyState">클릭</BUTTON> 결과:  
scopeName 속성 IE
⇒ 엘레멘트 개체를 위해 정의된 namespace를 반환한다.
문법: [sVal=].scopeName
코드: document.write(oObj.scopeName); 결과:
scrollHeight 속성 IE
⇒ 개체의 스크롤(화면굴림) 높이를 반환한다.
문법: [iVal=].scrollHeight
코드: document.write(oObj.scrollHeight); 결과:
scrollLeft 속성 IE
⇒ 개체의 왼쪽 모서리와 현재 윈도우의 내용이 보이는 가장 왼쪽 위치와의 거리를 픽셀단위로 반환하거나 설정한다.
문법: [iVal=].scrollLeft
코드: document.write(oObj.scrollLeft); 결과:
scrollTop 속성 IE
⇒ 개체의 위쪽 모서리와 현재 윈도우의 내용이 보이는 가장 위쪽 위치와의 거리를 픽셀단위로 반환하거나 설정한다.
문법: [iVal=].scrollTop
코드: document.write(oObj.scrollTop); 결과:
scrollWidth 속성 IE
⇒ 개체의 스크롤(화면굴림) 너비를 반환한다.
문법: [iVal=].scrollWidth
코드: document.write(oObj.scrollWidth); 결과:
sourceIndex 속성 IE
⇒ 소스 순서에서 문서의 all 컬렉션에 나타나는 개체의 위치를 반환한다.
문법: [iVal=].sourceIndex
코드: document.write(oObj.sourceIndex); 결과:
코드: document.write(document.all(oObj.sourceIndex).nodeName); 결과:
src 속성 IE (src="urlVal"> 애트리뷰트)
⇒ 스크립트 코드 데이터가 있는 외부 연결 파일의 주소(URL)를 반환한다.
문법: [sVal=].src
코드: document.write(document.scripts[0].src); 결과:
tagName 속성 IE
⇒ 개체의 태그(tag) 이름을 반환한다.
문법: [sVal=].tagName
코드: document.write(oObj.tagName); 결과:
tagUrn 속성 IE
⇒ 개체의 namespace 선언에서 설정된 주소(URN: Uniform Resource Name)를 반환하거나 설정한다.
문법: .tagUrn[=sVal]
코드: document.write(oObj.tagUrn); 결과:
text 속성 IE (text="clrVal"> 애트리뷰트)
⇒ 문서의 글자색상을 rrggbb 색상이나 색상명칭으로 반환하거나 지정한다.
문법: .text[=colorVal]
코드: document.write(oObj.text); 결과:
type 속성 IE (type="sVal"> 애트리뷰트)
⇒ 스크립트 엔진에 연관된 MIME 타입을 반환하거나 설정한다.
문법: .type[=sVal]
코드: document.write(oObj.type); 결과:
uniqueID 속성 IE
⇒ 자동적으로 생성된 개체의 유일한 인식자 문자열을 반환한다.
문법: [sVal=].uniqueID
코드: document.write(oObj.uniqueID); 결과:

stylescript
{background-position-x:val} obj.style.backgroundPositionX[=val]
backgroundPosition 속성의 x 좌표를 반환하거나 설정한다.
{background-position-y:val} obj.style.backgroundPositionY[=val]
backgroundPosition 속성의 y 좌표를 반환하거나 설정한다.
{behavior:val} obj.style.behavior[=val]
⇒ DHTML behavior의 소개 위치를 반환하거나 설정한다.
{layout-grid:val} obj.style.layoutGrid[=val]
⇒ 문자들의 레이아웃을 지정하는 문서 그리드(grid) 속성들을 일괄적으로 반환하거나 설정한다.
{layout-grid-mode:val} obj.style.layoutGridMode[=val]
⇒ 텍스트 레이아웃 그리드에 가로, 세로가 사용되었는가를 반환하거나 설정한다
없슴 obj.style.pixelBottom[=val]
⇒ 개체의 아래쪽 위치를 픽셀단위로 반환하거나 설정한다.
없슴 obj.style.pixelHeight[=val]
⇒ 개체의 높이를 픽셀단위로 반환하거나 설정한다.
없슴 obj.style.pixelLeft[=val]
⇒ 개체의 왼쪽 위치를 픽셀단위로 반환하거나 설정한다.
없슴 obj.style.pixelRight[=val]
⇒ 개체의 오른쪽 위치를 픽셀단위로 반환하거나 설정한다.
없슴 obj.style.pixelTop[=val]
⇒ 개체의 위쪽 위치를 픽셀단위로 반환하거나 설정한다.
없슴 obj.style.pixelWidth[=val]
⇒ 개체의 너비를 픽셀단위로 반환하거나 설정한다.
없슴 obj.style.posBottom[=val]
bottom 애트리뷰트로 지정된 단위로 개체의 아래쪽 위치를 반환하거나 설정한다.
없슴 obj.style.posHeight[=val]
height 애트리뷰트로 지정된 단위로 개체의 높이를 반환하거나 설정한다.
없슴 obj.style.posLeft[=val]
left 애트리뷰트로 지정된 단위로 개체의 왼쪽 위치를 반환하거나 설정한다.
없슴 obj.style.posRight[=val]
right 애트리뷰트로 지정된 단위로 개체의 오른쪽 위치를 반환하거나 설정한다.
없슴 obj.style.posTop[=val]
top 애트리뷰트로 지정된 단위로 개체의 위쪽 위치를 반환하거나 설정한다.
없슴 obj.style.posWidth[=val]
width 애트리뷰트로 지정된 단위로 개체의 너비를 반환하거나 설정한다.
{text-autospace:val} obj.style.textAutospace[=val]
⇒ 조정된 문자를 위한 자동 문자 간격 맞추기를 반환하거나 설정한다.
{text-underline-position:val} obj.style.textUnderlinePosition[=val]
⇒ 개체의 textDecoration 속성이 'underline'로 설정된 경우 밑줄의 위치를 반환하거나 설정한다.

메서드설명
addBehavior 엘레멘트에 behavior를 추가한다.
applyElement 개체를 다른 엘레멘트의 자식이나 모체 개체로 만든다.
attachEvent IE - 이벤트에 특정 기능을 묶어, 기능함수가 개체에서 이벤트가 발생되면 언제나 호출되게 한다.
이벤트의 제거는 detachEvent에서 한다. 반환값은 부울값이다.
문법: [bVal=].object.attachEvent(event,functObj)
event는 필수요소이고, 표준 이벤트 문자열이다. functObj도 필수요소이고 이벤트가 발생되면 호출될 기능함수이다.
코드: function callFunc(){alert('ondblclick 이벤트 발생')}document.attachEvent('ondblclick',callFunc)
결과: // 문서 위 아무데서나 더블클릭 해 보라.
코드:<INPUT type=button value="attachEvent 재설정" onclick="document.detachEvent('ondblclick',callFunc);document.attachEvent('ondblclick',callFunc)"></SPAN> 결과:
clearAttributes 개체의 모든 애트리뷰트들과 값들을 삭제한다.
cloneNode 문서 계통도로부터 개체의 참조를 복사한다.
componentFromPoint 어떤 이벤트에서 지정된 좌표에 위치한 콤포넨트를 반환한다.
contains 개체 속에 주어진 엘레멘트가 있는가를 점검한다.
detachEvent IE5 - attachEvent 이벤트로 첨부된 이벤트를 제거한다. 반환값은 없다.
문법: .detachEvent(event,funcion)
코드: <INPUT type=button value="detachEvent" onclick="document.detachEvent('ondblclick',callFunc)"></SPAN>
결과: // 클릭 후에는 attachEvent에서 설정된 이벤트가 제거된다. 제거 후 더블클릭해 보라.
dragDrop ondragstart 이벤트를 시작한다.
fireEvent 개체에서 지정한 이벤트를 발생시킨다.
getAdjacentText 개체의 인접 문자열을 반환한다.
getAttribute 지정된 애트리뷰트의 값을 반환한다.
getAttributeNode IE6 attribute.name속성을 참조하는 attribute 개체를 반환한다.
getElementsByTagName 지정된 엘레멘트의 이름에 맞는 개체들의 컬렉션을 반환한다.
hasChildNodes 개체가 자식개체를 가지고 가지고 있는가를 나타내는 값을 반환한다.
insertAdjacentElement 지정한 위치에 엘레멘트를 삽입한다.
mergeAttributes 지정된 개체에 모든 읽기/쓰기 애트리뷰트를 복사한다.
normalize IE6 개체의 인접 TextNode 개체를 통합하여 문서 개체 모델을 정상화한다.
removeAttribute 개체로 부터 애트리뷰트를 제거한다.
removeAttributeNode IE6 개체로 부터 애트리뷰트 개체 노드를 제거한다.
removeBehavior 개체로부터 behavior를 제거한다.
replaceAdjacentText 개체에 인접 문자열을 교체한다.
setAttribute 지정된 애트리뷰트를 설정한다.
setAttributeNode IE6 개체의 부분으로 애트리뷰트 개체 노드를 설정한다.
swapNode 문서 계통도에서 두 개체의 위치를 서로 바꾼다.

이벤트설명
onload 예제 IE3.02 NS2 개체가 부라우저에 로딩이 완료되면 바로 발생한다.
문법: .onload='JsCode'
onpropertychange 개체의 속성을 변경발생한다.
onreadystatechange 개체의 준비상태(readyState) 속성을 변경시키면 발생한다.

Behavior설명
clientCaps Explorer에 대한 정보를 제공하고 요청에 의하여 브라우저의 콤포넨트를 설치하는 방법늘 제공한다.
download 파일을 다운로드하고 완료되면 완료를 알려주는 기능을 갖고있다.
homePage 사용자의 홈페이지에 대한 정보를 포함하고 있다.
saveSnapshot 개체가 웹페이지가 저장될 때 데이터를 유지하게 한다.

XML 개체 예제

다음 시나리오 코드는 오류가 발생한다.

<SCRIPT language="XML" id="xmlObj">
<CLASS>
<DISPLAYAREA>표시 내용.</DISPLAYAREA>
<TIMEAREA>표시 시간 1 시간</TIMEAREA>
</CLASS>
</SCRIPT>
<SCRIPT language="Javascript">
function doShow(){
  str='document.all["xmlObj"].XMLDocument.readyState='+document.all['xmlObj'].XMLDocument.readyState+'<BR>';
  str+='document.all["xmlObj"].XMLDocument.nodeName='+document.all['xmlObj'].XMLDocument.nodeName+'<BR>';
  str+='document.all["xmlObj"].XMLDocument.text='+document.all['xmlObj'].XMLDocument.text;
  showA.innerHTML=str;
}
</SCRIPT>
<BUTTON onclick="doShow()">XML Data Island 예제</BUTTON>
<DIV id=showA>결과 표시창</DIV>

XML data 지역(island)이 SCRIPT 개체의 language 속성이 지정되어 먼저 나오므로 MSHTMLgetName 기능함수를 XML에서 시도하고 실패할 것이다. 이를 수정하기 위하여 SCRIPT 개체의 순서를 다음과 같이 변경한다.

<BUTTON
  onclick="window.open('../object/exp/wXMLDocument.html','_new',
    'top=100,left=100,width=600,height=150')">XML Data Island 예제</BUTTON>

../object/exp/wXMLDocument.html
<HTML>
<HEAD>
<SCRIPT language="Javascript">
function doShow(){
  str='document.all["xmlObj"].XMLDocument.readyState='+document.all['xmlObj'].XMLDocument.readyState+'<BR>';
  str+='document.all["xmlObj"].XMLDocument.nodeName='+document.all['xmlObj'].XMLDocument.nodeName+'<BR>';
  str+='document.all["xmlObj"].XMLDocument.text='+document.all['xmlObj'].XMLDocument.text;
  showA.innerHTML=str;
}
</SCRIPT>
<SCRIPT language="XML" id="xmlObj">
<CLASS>
<DISPLAYAREA>표시 내용.</DISPLAYAREA>
<TIMEAREA>표시 시간 1 시간</TIMEAREA>
</CLASS>
</SCRIPT>
</HEAD>
<BODY>
<DIV id="showA" style="height:3.5em">결과 표시창</DIV>
<P align=center>
<BUTTON onclick="doShow()">XML Data Island 표시</BUTTON>
<BUTTON onclick="self.close()">예제 창닫기</BUTTON>
</P>
</BODY>
</HTML>