DOM 은 HTML 문서를 계층구조로 표현하며 , 각 항목은 HTML 의 각 태그에 해당한다 .
최상위 엘리먼트는 document
4. DOM el.innerHTML += “<div>HTML 태그 붙이기 </div>”; innerHTML element.className = ‘ 클래스 ID’ ( 클래스 ID) el.style.border=“solid green 2px”; el.style.width=“200px”; 스타일 적용 <div class=‘classId’> 내용 </div> var e1 = document.getElementById(‘ 클래스 ID’); var child = p.childNodes(); for(int i=0;i<child.length;i++){ … } 엘리먼트 가지고 오기 var child = document.createElement(‘div’); 엘리먼트 생성 var txt = document.createTextNode(‘ 글자’ ); 텍스트 노드 생성 e1.appendChild(child); 생성된 엘리먼트 텍스트 노드 붙이기 자바스크립트 DOM 액션
5. 비동기 데이터 로딩 -IFrame
사용 방법
Iframe 을 안보이게 생성
Iframe 을 통해 데이터 로드
데이터가 다 로드되었으면 해당 내용을 핸들링하거나 Iframe 을 보이게 함
발전된 Iframe 사용 방식 Pooling
<script type=‘text/javascript’ > window.onload=function(){ var iframe = document.getElementById(‘dataFeed’); var src =‘datafeeds/mydata.xml’; loadDataAsync(iframe,src); } function loadDataAsync(iframe,src){ // iframe 에 데이터 로드 } </script> </head> <body> <iframe id=‘dataFeed’ style=‘height=0px;width=0px;’></iframe> : function fetchData(){ var iframe = document.createElement(‘iframe’); iframe.className=‘hiddenDataFeed’; document.body.appendChild(iframe); var src = ‘datafeeds/mydata.xml’; loadDataAsync(iframe,src); }
5. 비동기 데이터 로딩 - XmlDocument & HttpRequest function getXMLDocument(){ var xDoc = null; if(document.implementation && document.implementation.createDocument){ xDoc = document.implementation.createDocument( “”,””,null); Mozila }else if(typeof ActiveXObject != “undefined”){ var msXmlAx=null; try{ msXmlAx = new ActiveXObject(“Msxml12.DOMDocument”); }catch(e){ msXmlAx = new ActiveXObject(“Msxml.DOMDocument”); } xDoc = msXmlAx; } if(xDoc == null || type of xDoc.load==“undefined”){ xDoc == null; } return xDoc; } getXMLDocument function getXMLRequest(){ var xRequest = null; if(window.XMLHttpRequest){ xRequest = new XMLHttpRequest(); Mozila } else if (typeof ActiveXObject != “undefined”){ xRequest = new ActiveXObject(“Microsoft.XMLHTTP”); IE } return xRequest; } getXMLHTTPRequest
5. 비동기 데이터 로딩 - XmlDocument & HttpRequest <html> <head> <script type='text/javascript'> var req=null; var console=null; var READY_STATE_UNINITIALIZED=0; var READY_STATE_LOADING=1; var READY_STATE_LOADED=2; var READY_STATE_INTERACTIVE=3; var READY_STATE_COMPLETE=4; function loadXMLDoc(url) { if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } if (req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(null); } } function processReqChange(){ var ready=req.readyState; var data=null; if (ready==READY_STATE_COMPLETE){ data=req.responseText; }else{ data="loading...["+ready+"]"; } toConsole(data); } function toConsole(data){ if (console!=null){ var newline=document.createElement("div"); console.appendChild(newline); var txt=document.createTextNode(data); newline.appendChild(txt); } } window.onload=function(){ console=document.getElementById('console'); loadXMLDoc("data.txt"); } </script> </head> <body> <div id='console'></div> </body> </html>
0 comments
Post a comment