// @sample if(chkAjaBrowser()){ location.href='nonajax.htm' } // @sample oj = new chkAjaBrowser();if(oj.bw.safari){ /* Safari ÄÚµå */ } // @return ¶óÀ̺귯¸®°¡ µ¿ÀÛ°¡´ÉÇÑ ºê¶ó¿ìÀú¸¸ true true|false function chkAjaBrowser() { var a,ua = navigator.userAgent; this.bw= { safari : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 , konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 , mozes : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 , opera : (!!window.opera) && ((typeof XMLHttpRequest)=='function') , msie : (!!window.ActiveXObject)?(!!createHttpRequest()):false } return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie) } //// // XMLHttpRequest ¿ÀºêÁ§Æ® »ý¼º // // @sample oj = createHttpRequest() // @return XMLHttpRequest ¿ÀºêÁ§Æ®(ÀνºÅϽº) // function createHttpRequest() { if(window.ActiveXObject){ //Win e4,e5,e6¿ë try { return new ActiveXObject("Msxml2.XMLHTTP") ; } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP") ; } catch (e2) { return null ; } } } else if(window.XMLHttpRequest){ //Win Mac Linux m1,f1,o8 Mac s1 Linux k3¿ë return new XMLHttpRequest() ; } else { return null ; } } //// // ¼Û¼ö½Å ÇÔ¼ö // // @sample sendRequest(onloaded,'&prog=1','POST','./about2.php',true,true) // @param callback ¼Û¼ö½Å½Ã¿¡ ±âµ¿ÇÏ´Â ÇÔ¼ö À̸§ // @param data ¼Û½ÅÇÏ´Â µ¥ÀÌÅÍ (&À̸§1=°ª1&À̸§2=°ª2...) // @param method "POST" ¶Ç´Â "GET" // @param url ¿äûÇÏ´Â ÆÄÀÏÀÇ URL // @param async ºñµ¿±â¶ó¸é true µ¿±â¶ó¸é false // @param sload ¼öÆÛ ·Îµå true·Î °­Á¦¡¢»ý·«¶Ç´Â false´Â ±âº» // @param user ÀÎÁõ ÆäÀÌÁö¿ë »ç¿ëÀÚ À̸§ // @param password ÀÎÁõ ÆäÀÌÁö¿ë ¾ÏÈ£ // function sendRequest(callback,data,method,url,async,sload,user,password) { //XMLHttpRequest ¿ÀºêÁ§Æ® »ý¼º var oj = createHttpRequest(); if( oj == null ) return null; //°­Á¦ ·ÎµåÀÇ ¼³Á¤ var sload = (!!sendRequest.arguments[5])?sload:false; if(sload || method.toUpperCase() == 'GET')url += "?"; if(sload)url=url+"t="+(new Date()).getTime(); //ºê¶ó¿ìÀú ÆÇÁ¤ var bwoj = new chkAjaBrowser(); var opera = bwoj.bw.opera; var safari = bwoj.bw.safari; var konqueror = bwoj.bw.konqueror; var mozes = bwoj.bw.mozes ; //¼Û½Å ó¸® //opera´Â onreadystatechange¿¡ Áߺ¹ ÀÀ´äÀÌ ÀÖÀ» ¼ö ÀÖ¾î onload°¡ ¾ÈÀü //Moz,FireFox´Â oj.readyState==3¿¡¼­µµ ¼ö½ÅÇϹǷΠº¸ÅëÀº onload°¡ ¾ÈÀü //Win ie¿¡¼­´Â onload°¡ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù //KonquerorÀº onload°¡ ºÒ¾ÈÁ¤ //Âü°í http://jsgt.org/ajax/ref/test/response/responsetext/try1.php if(opera || safari || mozes){ oj.onload = function () { callback(oj); } } else { oj.onreadystatechange =function () { if ( oj.readyState == 4 ){ callback(oj); } } } //URL ÀÎÄÚµù data = uriEncode(data) if(method.toUpperCase() == 'GET') { url += data } //open ¸Þ¼Òµå oj.open(method,url,async,user,password); //Çì´õ application/x-www-form-urlencoded ¼³Á¤ setEncHeader(oj) //µð¹ö±× //alert("////jslb_ajaxxx.js//// \n data:"+data+" \n method:"+method+" \n url:"+url+" \n async:"+async); //send ¸Þ¼Òµå oj.send(data); //URI ÀÎÄÚµù Çì´õ ¼³Á¤ function setEncHeader(oj){ //Çì´õ application/x-www-form-urlencoded ¼³Á¤ // @see http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.3 // @see #h-17.3 // ( enctypeÀÇ ±âº»°ªÀº "application/x-www-form-urlencoded") // h-17.3¿¡ ÀÇÇØ¡¢POST/GET »ó°ü¾øÀÌ ¼³Á¤ // POST¿¡¼­ "multipart/form-data"À» ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì¿¡´Â Ä¿½ºÅ͸¶ÀÌÁî ÇØÁÖ¼¼¿ä. // // ÀÌ ¸Þ¼Òµå°¡ Win Opera8.0¿¡¼­ ¿¡·¯°¡ ³ª¹Ç·Î ºÐ±â(8.01Àº OK) var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8'; if(!window.opera){ oj.setRequestHeader('Content-Type',contentTypeUrlenc); } else { if((typeof oj.setRequestHeader) == 'function') oj.setRequestHeader('Content-Type',contentTypeUrlenc); } return oj } //URL ÀÎÄÚµù function uriEncode(data){ if(data!=""){ //&¿Í=·Î ÀÏ´Ü ºÐÇØÇؼ­ encode var encdata = ''; var datas = data.split('&'); for(i=1;i