/************************************************************************** Ajax °´Ã¼ ================= CR Log ================= 2008.02.26 / ±è¹Î¿µ Update => 2008.04.09 / ±è¹Î¿µ Update => 2008.05.12 / ±è¹Î¿µ ========================================== ========== Cross Browsing Test ========== IE6, IE7, Opera 9.x, Firefox/2.x ========================================= =============== Free Info =============== Get Load Image: http://www.ajaxload.info/ Help: gto-twinturbo@hanmail.net ========================================= [»ç¿ë¹ý 1 (Sync)] var XML = new MY_XML(); XML.Param("Name1", "Value1"); XML.Param("Name2", "Value2"); XML.Param("Name3", "Value3"); XML.Load("HTTP Route");// Ex => ./test.xml OR ./test.html OR ./test.pl Ex. 1) [Document Elment].innerHTML = XML.XmlToHtml(); Ex. 2) var XmlRequest = XML.XmlToDom(); var Node = XmlRequest.getElementsByTagName("Node Name").item(Number); Ex. 3) var Node = XML.DomToNode(Node Name).item(Number); [»ç¿ë¹ý 2 (Async)] var XML = new MY_XML(); XML.Param("Name1", "Value1"); XML.Param("Name2", "Value2"); XML.Param("Name3", "Value3"); XML.AFunc("AsyncExec(XML.XmlToHtml());"); XML.Load("HTTP Route", true);// Ex => ./test.xml OR ./test.html OR ./test.pl function AsyncExec(XmlReq) { [Document Elment].innerHTML = XmlReq; } [»ç¿ë¹ý 3 (Async)] var XML = new MY_XML(); XML.Param("Name1", "Value1"); XML.Param("Name2", "Value2"); XML.Param("Name3", "Value3"); XML.AFunc("AsyncExec(XML.XmlToDom());"); XML.Load("HTTP Route", true);// Ex => ./test.xml OR ./test.html OR ./test.pl function AsyncExec(XmlReq) { var Node = XmlReq.getElementsByTagName("Node Name").item(Number); } **************************************************************************/ function MY_XML() { this.parameter = ''; this.XmlObject = null; this.AsyncSet = null; this.AppName = (navigator.appName == 'Microsoft Internet Explorer' ? true : false); window.onerror = function(Error) { if (Server.Remote == 'LocalAdmin') alert(Error); return true; } } // À¥ ¼­¹ö·Î ÁúÀÇÇÒ ÆÄ¶ó¹ÌÅÍ ¼³Á¤ MY_XML.prototype.Param = function(ParamName, ParamValue) { if (ParamValue == undefined) ParamValue = ""; this.parameter += ParamName+ "=" +encodeURIComponent(ParamValue)+ "&"; } // XMLÀ» Äõ¸®¿Í ÇÔ²² Àü¼Û MY_XML.prototype.Load = function(LoadUrl, Async) { if (!Async) Async = false; var strParamMethod = this.parameter.replace(/&$/, ""); var XmlData = new Object(); window.DataReady = null; if (window.XMLHttpRequest) XmlData.HTTP = new XMLHttpRequest(); else if (window.ActiveXObject) XmlData.HTTP = new ActiveXObject("Microsoft.XMLHTTP"); else { alert("Áö¿øÇÏ´Â Åë½Å °´Ã¼°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù."); return false; } XmlData.ThisSet = this; XmlData.LoadUrl = LoadUrl; XmlData.Async = Async; XmlData.Param = strParamMethod; XmlData.AsyncSet = this.AsyncSet; XmlData.HTTP.onreadystatechange = function() { if (XmlData.HTTP.readyState == 4) { // Success, Fail ÇÔ¼öÀÇ ¸®ÅÏÀÌ INITIAL À̸é ÁغñµÇÁö ¾ÊÀº »óŹǷΠÀÌÀü ½ÇÇà¹æ½Ä äÅà if (XmlData.HTTP.status == 200) { XmlData.ThisSet.parameter = ""; if (XmlData.ThisSet.Success(XmlData.HTTP) == 'INITIAL') { var XML = XmlData.ThisSet; eval(XML.AsyncSet); } } else { if (XmlData.ThisSet.Fail() == 'INITIAL') { if (XmlData.Async == true) { var XML = new MY_XML(); XML.parameter = XmlData.Param; XML.AFunc(XmlData.AsyncSet); XML.Load(XmlData.LoadUrl, XmlData.Async); return false; } else if (Server.Remote == 'LocalAdmin') alert(XmlData.HTTP.status + ' ERROR'); } } } } XmlData.HTTP.open("POST", LoadUrl, Async); XmlData.HTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); XmlData.HTTP.send(strParamMethod); this.XmlObject = XmlData.HTTP; return XmlData.HTTP; } // XMLÀ» HTML·Î ¸®ÅÏ MY_XML.prototype.XmlToHtml = function(XmlObject) { if (XmlObject) this.XmlObject = XmlObject; if (!this.XmlObject) { alert("XmlToHtml Error: Load ¸Þ¼­µå¿¡¼­ XMLÀ» ¿ÏÀüÈ÷ Àоî¿ÀÁö ¸øÇß½À´Ï´Ù."); return false; } var ReturnData = null; if (this.AppName) { var XmlData = new ActiveXObject("Microsoft.XMLDOM"); XmlData.async = false; XmlData.load(this.XmlObject.responseBody); ReturnData = XmlData.xml; } else ReturnData = this.XmlObject.responseText; ReturnData = ReturnData.replace(/\r\n|\n|\r/g, "@END_OF_NEW_LINE"); return ReturnData.replace(//gi, '$1').replace(/@END_OF_NEW_LINE/g, '\n'); } // Request µ¥ÀÌÅÍ ¿øº» ¸®ÅÏ MY_XML.prototype.Data = function() { if (!this.XmlObject) { alert("XmlToHtml Error: Load ¸Þ¼­µå¿¡¼­ XMLÀ» ¿ÏÀüÈ÷ Àоî¿ÀÁö ¸øÇß½À´Ï´Ù."); return false; } else return this.XmlObject; } // XMLÀ» DOMÀ¸·Î ¸®ÅÏ MY_XML.prototype.XmlToDom = function() { if (!this.XmlObject) { alert("XMLÀ» ¿ÏÀüÈ÷ Àоî¿ÀÁö ¸øÇß½À´Ï´Ù."); return false; } return this.XmlObject.responseXML.documentElement; } // NodeÀÇ °´Ã¼¸¦ °¡Á®¿Â´Ù MY_XML.prototype.DomToNode = function(NodeName) { var objXmlDom = this.XmlToDom(this.XmlObject); if (Server.Remote == 'LocalAdmin') { //var Obj = this.XmlObject.responseXML; } return objXmlDom.getElementsByTagName(NodeName); //alert(ReturnData.[3].getAttribute('name')); //alert(ReturnData.getElementsByTagName('CODEBASE')[3].childNodes[0].nodeValue); } // Debug MY_XML.prototype.Debug = function(Url) { var FORM = document.createElement('FORM'); var ParamArr = this.parameter.split('&'); for (var i = 0; i < ParamArr.length; i++) { var INPUT = document.createElement('INPUT'); var Name = ParamArr[i].split(/=/)[0]; var DecodeValue = decodeURIComponent(ParamArr[i].split(/=/)[1]); if (DecodeValue == 'undefined') DecodeValue = ""; INPUT.setAttribute("name", Name); INPUT.setAttribute("value", DecodeValue); FORM.appendChild(INPUT); } FORM.style.display = 'none'; FORM.setAttribute("action", Url); FORM.setAttribute("method", 'POST'); FORM.setAttribute("target", "_blank"); document.body.appendChild(FORM); FORM.submit(); } // ºñµ¿±â ÀÛµ¿ ÇÔ¼ö ¼ÂÆÃ MY_XML.prototype.AFunc = function(AsyncSet) { this.AsyncSet = AsyncSet; } // Request ½ÇÆÐ½Ã ÀÛµ¿ ÇÔ¼ö MY_XML.prototype.Fail = function() { return 'INITIAL'; } // Request ¼º°ø½Ã ÀÛµ¿ ÇÔ¼ö MY_XML.prototype.Success = function() { return 'INITIAL'; } // ·Îµù¹Ù »ý¼º MY_XML.prototype.FlaLoader = function(Src, Width, Height) { var ImgLayer = document.createElement('div'); var LoadImg = document.createElement('embed'); LoadImg.setAttribute('src', Src); LoadImg.setAttribute('width', Width); LoadImg.setAttribute('height', Height); LoadImg.setAttribute('wmode', 'transparent'); ImgLayer.appendChild(LoadImg); return ImgLayer.innerHTML; } // ¼Ó¼º¿¡ InnerHTML MY_XML.prototype.SetContent = function(Elem, Content) { var ElemObj = document.getElementById(Elem); if (ElemObj) ElemObj.innerHTML = Content; } if (!MyRoute) var MyRoute = { Bbs: 'my.bbs', Skin: 'my.skin', Css: 'my.css', Data: 'my.data', Image: 'my.image', ProImage: 'my.data/shop.image' }; if (!Param) var Param = {}; if (!Session) var Session = {}; if (!Server) var Server = {}; Server.Date = '20120223215331'; Server.Remote = '38.107.179.208'; var Cookie = Cookie ? Cookie : null; var XML = XML ? XML : null; var Let = Let ? Let : null; var Style = Style ? Style : null; var Zip = Zip ? Zip : null; var Em = Em ? Em : null; var File = File ? File : null; var IWin = IWin ? IWin : null; try { if (Cookies) Cookie = new Cookies(); } catch (e) {} try { if (MY_XML) XML = new MY_XML(); } catch (e) {} try { if (Letter) Let = new Letter(); } catch (e) {} try { if (StyleEvent) Style = new StyleEvent(); } catch (e) {} try { if (ZipCode) Zip = new ZipCode(); } catch (e) {} try { if (Element) Em = new Element(); } catch (e) {} try { if (FileAccess) File = new FileAccess(); } catch (e) {} try { if (IWindow) IWin = new IWindow('IWin'); } catch (e) {} window.LoadedJsModule = 1;