ÀÚ¹Ù½ºÅ©¸³Æ®
| 2008-05-07 11:43:45
À̹ø¿¡´Â ½ÇÁ¦·Î »ý¼ºµÈ °´Ã¼¿¡¼ »ç¿ë°¡´ÉÇÑ Methods¿Í Propertiesµé¿¡ ´ëÇØ ¾Ë¾Æº¸·Á°í ÇÕ´Ï´Ù.
¿ì¼± Áö³¹ø¿¡ ¼³¸íµå·È´ø °Í°ú °°ÀÌ ÇØ´ç ±â¼úÀº ¾ÆÁ÷Àº À¥Ç¥ÁØÀÌ ¾Æ´Ï±â ¶§¹®¿¡
°¢ ºê¶ó¿ìÀú º°·Î ±× ±¸Çö¿¡ ÀÖ¾î ¾à°£ÀÇ Â÷ÀÌÁ¡À» °¡Áö°í ÀÖ½À´Ï´Ù.
±×·¯³ª ´ÙÇེ·¯¿î °ÍÀº ´ëºÎºÐÀÌ IEÀÇ Ç¥ÁØÀ» µû¶ó°¡°í ÀÖÀ¸¸ç Å« Â÷À̰¡ ¾ø´Ù´Â °ÍÀÔ´Ï´Ù.
¾Æ·¡ ³»¿ëÀº Áö³¹ø Æ÷½ºÆ® ÇÏ´Ü¿¡ ÀÖ´ø Âü°í »çÀÌÆ®¸¦ Âü°í·Î Á¤¸®ÇÑ ³»¿ëÀ¸·Î
Å©·Î½º ºê¶ó¿ì¡À» À§ÇØ °øÅëÀûÀ¸·Î »ç¿ë°¡´ÉÇÑ ºÎºÐ¸¸À» Á¤¸®ÇÑ °ÍÀÔ´Ï´Ù.
XMLHttpRequest ¿¡¼ »ç¿ë °¡´ÉÇÑ Method µé
- open(method, url, [async], [user, password])
- method - HTTP Method ¸¦ °áÁ¤
url - ¿äûÇÒ URL
async - ºñµ¿±â ¿äû ¹æ½Ä ¼³Á¤ true(ºñµ¿±â)|false(µ¿±â), »ý·«½Ã true
ºñµ¿±â ¿äû½Ã¿¡´Â onreadystatechange »ç¿ë ÇÏ¿© Äݹé ÇÔ¼ö È£Ãâ °¡´É
µ¿±â ¿äû½Ã ÀÀ´äÀÌ ¿Ã¶§±îÁö ´ë±âÇÔ
user, password - HTTP ÀÎÁõÀ» À§ÇÑ »ç¿ëÀÚ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå
- send(sendValue)
- ½ÇÁ¦·Î ¿äûÀ» URL·Î Àü´ÞÇÏ´Â ¸Þ¼Òµå·Î
GET ¸Þ¼Òµå´Â NULL, POST ¸Þ¼Òµå´Â Àü¼ÛÇÒ µ¥ÀÌÅ͸¦ ÀÎÀÚ·Î »ç¿ë
- setRequestHeader(nmHedaer, contentHeader)
- ¿äû¿¡ Çì´õ Á¤º¸¸¦ Ãß°¡ÇÔ
- getResponseHeader(nmHeader)
- ÀÀ´äÀ¸·Î Àü´Þ ¹ÞÀº Çì´õÁß ÇØ´ç ³»¿ë
- getAllResponseHeaders()
- ÀÀ´äÀ¸·Î Àü´Þ ¹ÞÀº Çì´õ Àüü ³»¿ë
- abort()
- ¿äûÀ» ÁßÁö½ÃÅ´, open ÀÌÈÄ¿¡ ¿Í¾ßÇϸç send ÀÌÈÄ¿¡ ¿Ã°æ¿ì ¿¡·¯ ¹ß»ý
XMLHttpRequest ¿¡¼ »ç¿ë °¡´ÉÇÑ Properties µé
- onreadystatechange
- ¿äû¿¡ ´ëÇÑ ÀÀ´ä»óŰ¡ º¯°æµÇ¾úÀ» ¶§ ÇØ´ç ¾îÆ®¸®ºäÆ®°¡ È£ÃâµÊ
À̸¦ ÀÌ¿ëÇØ Äݹé ÇÔ¼ö¸¦ ±¸ÇöÇÔ
- status
- ¿äû¿¡ ´ëÇÑ HTTP ÀÀ´ä ÄÚµå
200 - OK(¿äû ¼º°ø)
401 - Unauthorized(±ÇÇÑ ¾øÀ½)
404 - Not Found(ÆäÀÌÁö ¾øÀ½)
500 - Internal Server Error(¼¹ö ³»ºÎ ¿À·ù) µî
- statusText
- ¿äû¿¡ ´ëÇÑ HTTP ÀÀ´ä ÅØ½ºÆ®
status Âü°í ³»¿ëÀÇ ¿µ¹® ¸Þ½ÃÁö ÂüÁ¶
- readyState
- ¿äû¿¡ ´ëÇÑ ÀÀ´ä »óÅ ÄÚµå
0 - UNINITALIZED : ¿ÀºêÁ§Æ®¸¸ »ý¼ºµÇ¾î ÀÖÀ½, open ¸Þ¼Òµå È£Ãâ ÀÌÀü
1 - LOADING : send ¸Þ¼Òµå È£Ãâ ÀÌÀü
2 - LOADED : send ¸Þ¼Òµå´Â È£ÃâÇÏ¿´À¸³ª ¾ÆÁ÷ ÀÀ´ä µµÂø ÇÏÁö ¾ÊÀ½
3 - INTERACTIVE : ÀÀ´äÀÇ ÀϺθ¸ ¿Ï·á
4 - COMPLETED : ÀÀ´ä ¿Ï·á
- responseText
- ¿äû¿¡ ´ëÇÑ TEXT Çü½ÄÀÇ °á°ú¸¦ ¹Ýȯ
- responseXML
- ¿äû¿¡ ´ëÇÑ XML DOM Çü½ÄÀÇ °á°ú¸¦ ¹Ýȯ
Âü°í·Î ºñ±³Àû ÃÖ±Ù±îÁö »ç¿ëµÇ´ø Opera 8.0 ¹öÁ¯ÀÇ °æ¿ì¿¡´Â
onreadystatechange ÇÁ·ÎÆÛƼ¿¡ ÀϺΠ¹ö±×°¡ ÀÖ¾î onload ¸¦ »ç¿ëÇϴ°ÍÀÌ ÁÁ½À´Ï´Ù
±×·¯³ª onload ¸Þ¼Òµå´Â IE µî¿¡¼´Â ±¸ÇöÀÌ µÇ¾î ÀÖÁö ¾ÊÀº ¸Þ¼Òµå ÀÔ´Ï´Ù.
¶ÇÇÑ setRequestHeader ¸Þ¼Òµå ¿ª½Ã Opera 8.0 ¿¡´Â ±¸ÇöµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.
±×·¯³ª À§ µÎ°¡Áö ³»¿ëÀº Opera 8.01 ÀÌÈÄ·Î ÇØ°á µÇ¾úÀ¸¸ç Å©°Ô Áß¿äÇÏÁö´Â ¾ÊÀ»µí ÇÕ´Ï´Ù.
±×¸®°í À§¿¡´Â ÀûÁö ¾Ê¾ÒÁö¸¸ °¢ ºê¶ó¿ìÀúº°·Î Ÿºê¶ó¿ìÀú¿¡¼´Â »ç¿ëÇÏÁö ¾Ê´Â
¸Þ¼Òµå³ª ÇÁ·ÎÇÇÅ͸¦ Á¦°øÇϱ⵵ ÇÏ´Ï Reference ¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
ÀÌ»óÀ¸·Î XMLHttpRequest °´Ã¼ »ý¼ºÀ» ÅëÇØ »ç¿ë°¡´ÉÇÑ
¸Þ¼Òµå¿Í ÇÁ·ÎÆÛƼ(¾îÆ®¸®ºäÆ®)µé¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò½À´Ï´Ù.
´ÙÀ½¿¡´Â À̸¦ ÀÌ¿ëÇØ °£´ÜÈ÷ »ç¿ë°¡´ÉÇÑ Äڵ带 ÀÛ¼ºÇغ¸µµ·Ï ÇϰڽÀ´Ï´Ù.
Æ÷½ºÆ® °ü·Ã Ű¿öµå
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2008-05-07 11:42:09
AJAX ÀÇ ºñµ¿±â ¿äû ±¸ÇöÀ» À§ÇÑ ÇÙ½É ±â¼úÀÇ ±Ù°£Àº ¹Ù·Î JAVASCRIPT ÀÔ´Ï´Ù.
±×Áß¿¡¼µµ XMLHttpRequest °´Ã¼°¡ ÀÖ¾ú±â¿¡ À̸¦ ±¸ÇöÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
À̸¦ ÅëÇØ ÆäÀÌÁö ´ÜÀ§ÀÇ ¿äû ¾øÀ̵µ ±×¶§ ±×¶§ ÇÊ¿äÇÑ ¿äû°ú ÀÀ´äÀ» ¹ÞÀ» ¼ö ÀÖ°Ô µÈ°ÅÁÒ.
±×·¸´Ù¸é ½ÇÁ¦·Î ÇØ´ç °´Ã¼¸¦ ¾î¶»°Ô »ý¼ºÇÒÁö¿¡ ´ëÇÑ À̾߱⸦ º»°ÝÀûÀ¸·Î ÇØº¸°Ú½À´Ï´Ù.
½ÇÁ¦·Î XMLHttpRequest °´Ã¼´Â ECMASCRIPT Ç¥ÁØ¿¡¼ Áö¿øÇϰí ÀÖ´Â ³»¿ëÀº ¾Æ´Õ´Ï´Ù.
MSÀÇ IE5 ¹öÁ¯ºÎÅÍ °³¹ßµÇ¾î »ç¿ëµÇ±â ½ÃÀÛÇÑ ºñÇ¥ÁØ °´Ã¼ Áß Çϳª ÀÔ´Ï´Ù.
±×·¯³ª ´Ù¸¥ ºê¶ó¿ìÀúµéµµ ±¸Çö ¹æ½ÄÀº ¼·Î Á¶±Ý¾¿ ´Ù¸£Áö¸¸ À̸¦ Áö¿øÇϰí ÀÖÀ¸¸ç
±¸±Û ¸ÊÀ» ÅëÇØ AJAX°¡ ´ëÁßÀûÀ¸·Î »ç¿ëµÇ±â ½ÃÀÛÇÏ¸é¼ ´õ ¸¹Àº ºê¶ó¿ìÀúµéÀÌ Áö¿øÇϰí ÀÖÀ¸¸ç
ÇöÀç´Â ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ´ëºÎºÐÀÇ ºê¶ó¿ìÀú°¡ Áö¿øÇÏ´Â ±â´ÉÀÌ µÇ¾ú½À´Ï´Ù.
Á¶±Ý µÚ´ÊÀº °¨ÀÌ ¾øÁö¾Ê¾Æ ÀÖÁö¸¸ w3c ¿¡¼µµ Working-Draft °¡ ÁøÇàÁßÀ̶ó ÇÕ´Ï´Ù.
ÀÚ ±×·¯¸é ÀÌÁ¦ºÎÅÍ º»°ÝÀûÀ¸·Î ½ÇÁ¦ ±¸Çö°ú °ü·ÃµÈ À̾߱⸦ ÇØº¸°Ú½À´Ï´Ù.
XMLHttpRequest °´Ã¼´Â IE ¿¡¼ Á¶Â÷µµ Ç¥ÁØ °´Ã¼°¡ ¾Æ´Ñ activeX °´Ã¼Áß Çϳª¿´½À´Ï´Ù.
Áï ÇØ´ç °´Ã¼¸¦ »ý¼ºÇϱâ À§Çؼ´Â ¾Æ·¡¿Í °°ÀÌ activeXObject ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
±×·¯³ª À̿ʹ ´Þ¸® FireFox ³ª Opera µî ¿¡¼´Â window ÀÇ ³»À尴ü·Î Áö¿øÀ» Çϰí ÀÖ½À´Ï´Ù.
xmlhttp = new XMLHttpRequest();
µû¶ó¼ À§¿Í °°ÀÌ »ç¿ë¹ýÀÌ ¼·Î ´Ù¸£±â ¶§¹®¿¡ ºê¶ó¿ìÀú¿¡ ¸Â°Ô À̸¦ »ý¼ºÇؾ߸¸ ÇÕ´Ï´Ù.
Âü°í·Î IE7 ºÎÅÍ´Â ÀÌÀüÀÇ ¹æ¹ýÀº ¹°·Ð windowÀÇ ³»À尴ü ¹æ½ÄÀ¸·Îµµ »ý¼ºÀÌ °¡´ÉÇØÁ³½À´Ï´Ù.
±×·¸´Ù¸é Å©·Î½º ºê¶ó¿ì¡ °¡´ÉÇÑ XMLHttpRequest °´Ã¼¸¦ ¾î¶»°Ô »ý¼ºÇØ¾ß ÇÒ±î¿ä??
¾Æ·¡ º¸¿©µå¸± ¼Ò½º ÄÚµåµéÀº IE6 ÀÌ»ó, FF 1.5 ÀÌ»ó, Opera 9.0 À̻󿡼 Å×½ºÆ® µÈ ³»¿ëÀÔ´Ï´Ù.
function getObjXMLHTTP(){
var xmlhttp = false;
if(window.ActiveXObject){
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2) {
xmlhttp = false;
}
}
}else if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else{
xmlhttp = false;
}
return xmlhttp;
}
À§¿¡ ÀÛ¼ºµÈ ÄÚµåµé¿¡ ´ëÇØ °£·«ÇÏ°Ô ºÎ¿¬ ¼³¸íÀ» µå¸®ÀÚ¸é
getObjXMLHTTP() ÇÔ¼ö´Â XMLHttpRequest °´Ã¼¸¦ »ý¼ºÇÏ¿© ±× ÀÚü¸¦ ¹Ýȯ ÇÕ´Ï´Ù.
±×·¯³ª ¸¸¾à ÇØ´ç °´Ã¼¸¦ Áö¿øÇÏÁö ¾Ê´Â ºê¶ó¿ìÀú¶ó¸é false ¸¦ ¹ÝȯÇÏ°Ô µË´Ï´Ù.
À̶§ var xmlhttp ¿Í °°ÀÌ ·ÎÄà º¯¼ö¸¦ ¼±¾ðÇÏ¿© °´Ã¼¸¦ »ý¼ºÇÔÀ¸·Î½á
ºñµ¿±â ¿äûÀÌ Áߺ¹µÉ °æ¿ì¿¡µµ °´Ã¼°¡ ÁßøµÇ¾î »ç¶óÁö´Â°ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
¿ì¼± °´Ã¼ »ý¼ºÀ» À§ÇØ ºê¶ó¿ìÀú¿¡¼ ¾î¶°ÇÑ ¹æ½ÄÀ» Áö¿øÇϰí ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù.
¸¸¾à activeX °´Ã¼·Î À̸¦ Áö¿øÇÏ´Â ºê¶ó¿ìÀú¶ó¸é new ActiveXObject() ¸Þ¼Òµå¸¦ ÅëÇØ
window ³»À尴ü·Î Áö¿øÇÏ´Â °æ¿ì¶ó¸é new XMLHttpRequest() °´Ã¼·Î À̸¦ »ý¼ºÇÕ´Ï´Ù.
½ÇÁ¦·Î IE7 Àº ÈÄÀÚÀÇ °æ¿ìµµ Á¤»óÀûÀ¸·Î Áö¿øÇÏÁö¸¸ IE °è¿ÀÇ °æ¿ì ÀüÀÚÀÇ ¹æ½ÄÀ¸·Î
±×¿ÜÀÇ ºê¶ó¿ìÀú ¿¡¼´Â ÈÄÀÚÀÇ ¹æ½ÄÀ» »ç¿ëÇÏ¿© °´Ã¼¸¦ »ý¼ºÇϵµ·Ï ÇÏ¿´½À´Ï´Ù.
Â÷ÈÄ¿¡ IE7 »ç¿ëÀÚ°¡ ÁÖ·ù°¡ µÈ´Ù¸é ÈÄÀÚ¸¦ ¸ÕÀú ½ÇÇàÇϴ°ÍÀÌ ÁÁÀº ¹æ¹ýÀÌ µÉµí ÇÕ´Ï´Ù.
±×¸®°í IE ¿¡¼µµ »ç¿ëÀÚ È¯°æ¿¡ µû¶ó »ç¿ë°¡´ÉÇÑ ÇØ´ç °´Ã¼¸íÀÌ ´Ù¸¦ ¼ö Àֱ⠶§¹®¿¡
try ~ catch ±¸¹®À» »ç¿ëÇÏ¿© °¡±ÞÀû ÃÖ½ÅÀÇ ¹öÁ¯ÀÇ °´Ã¼¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çß½À´Ï´Ù.
MS Á¦Ç°º°·Î Áö¿ø °¡´ÉÇÑ XML ÆÄ¼ Á¤º¸ ´Â ÇØ´ç ÆäÀÌÁö¸¦ Âü°íÇϽñ⠹ٶó¸ç
ÀϹÝÀûÀÎ »ç¿ëÀÚÀÇ IE ¿¡¼ »ç¿ëµÉ ¼ö ÀÖ´Â ÆÄ¼´Â À§¿¡ »ç¿ëÇÑ 2°¡Áö ÀÔ´Ï´Ù.
Msxml2.XMLHTTP(msxml3.dll)ÀÌ º¸´Ù ÃÖ½ÅÀÇ ¹öÁ¯À̸ç Microsoft.XMLHTTP(msxml.dll)¿¡ ºñÇØ
±â´É ¹× ¼º´É»óÀÇ ÀåÁ¡ÀÌ ÀÖÀ¸¹Ç·Î °¡±ÞÀû ÃֽйöÁ¯À» »ç¿ëÇϴ°ÍÀÌ ÁÁ½À´Ï´Ù.
´ÙÀ½¿¡´Â ÀÌ·¸°Ô »ý¼ºµÈ XMLHttpRequest °´Ã¼¸¦ »ç¿ëÇÏ¿©
µ¥ÀÌÅ͸¦ ºñµ¿±â·Î ÁÖ°í ¹ÞÀ»¼ö ÀÖµµ·Ï ÇÏ´Â AJAX °´Ã¼¸¦ ÀÛ¼ºÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
Âü°í·Î ¾Æ·¡´Â °¢ ºê¶ó¿ìÀúº°·Î Áö¿øÇϰí ÀÖ´Â xmlHttpRequest °´Ã¼¿¡ ´ëÇÑ ·¹ÆÛ·±½º Á¤º¸À̸ç
¸ðÁú¶ó ¿ª½Ã MSÀÇ IXMLHttpRequest °´Ã¼¸¦ ¸ð¹æÇÏ´Â °ÍÀ» ±× ÁöÇâÁ¡À¸·Î Çϰí ÀÖ´Ù°í ÇÕ´Ï´Ù.
Æ÷½ºÆ® °ü·Ã Ű¿öµå
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2008-05-07 11:35:33
¿ì¼± À̸¦ ±¸ÇöÇϱâ À§ÇØ ÇÊ¿äÇÑ ±â´ÉµéÀ» °£´ÜÈ÷ Á¤¸®Çغ¸°Ú½À´Ï´Ù.
1. ¿ì¼± ºê¶ó¿ìÀú¿¡ µû¶ó XMLHTTP °´Ã¼°¡ »ý¼ºµÇÁö ¾ÊÀ» ¼ö ÀÖÀ¸¹Ç·Î ÀÌ¿¡ ´ëÇÑ Ã³¸®¸¦ ÇØ¾ß ÇÕ´Ï´Ù.
2. ¸¸¾à Á¤»óÀûÀ¸·Î °´Ã¼°¡ »ý¼ºµÇ¾ú´Ù¸é ¿äûÇÒ Á¤º¸¸¦ »ý¼ºÇϰí À̸¦ ÇØ´ç URL·Î Àü¼ÛÇÕ´Ï´Ù.
3.¸¸¾à ÇØ´ç ¿äûÀÌ ºñµ¿±â·Î ¿äûµÇ¾ú´Ù¸é callback ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÀÀ´ä¿¡ ´ëÇÑ Ã³¸®¸¦ ÇÕ´Ï´Ù.
//XMLHTTP °´Ã¼¸¦ »ý¼º ÇÏ´Â ÇÔ¼ö
function getObjXMLHTTP(){
var xmlhttp = false;
if(window.ActiveXObject){
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2) {
xmlhttp = false;
}
}
}else if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else{
xmlhttp = false;
}
return xmlhttp;
}
//AJAX Åë½ÅÀ» Çϱâ À§ÇÑ °´Ã¼¸¦ »ý¼º
function getObjAJAX(){
this.send = function(callbackFunction){
var objXMLHTTP = getObjXMLHTTP();
//http È£Ãâ ¹æ¹ý °áÁ¤ »ý·«½Ã¿¡´Â GET À¸·Î µ¿ÀÛ
this.method = (this.method == undefined)? "GET" : this.method.toUpperCase();
//Àü´ÞÇϰíÀÚ ÇÏ´Â ÀÎÀÚ°ª¿¡ ´ëÇÑ Ã³¸®
if(typeof this.queryString == "undefined") this.queryString = null;
//GET ¹æ½ÄÀÏ °æ¿ì´Â url µÚ¿¡ ÆÄ¶ó¸ÞÅÍ·Î °ªÀ» ³Ñ±âµµ·Ï ó¸®
//send ½Ã¿¡´Â null °ª¸¸ È£Ãâ
if(this.method == "GET" && !!(this.queryString)){
this.url += ((this.url.indexOf("?") > 0)? "" : "?") + this.queryString;
this.queryString = null;
}
//open ¸Å¼Òµå È£Ãâ, http ÀÎÁõ ºÎºÐÀº »ý·«ÇÏ¿´À½
objXMLHTTP.open(this.method, this.url, true);
objXMLHTTP.send(this.queryString);
//XMLHTTP ¿äûÀÇ »óŰ¡ º¯°æµÇ¸é ¾Æ·¡ ÇÔ¼ö¸¦ È£ÃâÇÔ
objXMLHTTP.onreadystatechange = function(){
if (objXMLHTTP.readyState != 4) {
//¿äûÀÌ ´ë±âÁßÀÏ °æ¿ìÀÇ Ã³¸®
}else{
//¸ðµç ÀÀ´äÀÌ ¿Ï·áµÇ¾úÀ»¶§ÀÇ xml °á°ú¸¦
//Äݹé ÇÔ¼öÀÇ ÀÎÀڷΠȣÃâ
if (objXMLHTTP.status == 200) {
callbackFunction(objXMLHTTP.responseXML);
delete ojbXMLHTTP;
}
}
}
}
}
//½ÇÁ¦ AJAX °´Ã¼¸¦ È£ÃâÇÏ¿© »ç¿ëÇÏ´Â ÇÔ¼ö ±¸Çö
function useAJAX(){
var ojbAJAX = new getObjAJAX();
objAJAX. url = "È£ÃâÇϰíÀÚ ÇÏ´Â URL";
objAJAX.queryString = "val=123&data=abc"//Àü´ÞÇϰíÀÚ ÇÏ´Â ÀÎÀÚ °ªµé
objAJAX.method = "POST"
objAJAX.send(callbakfunc); //ÄݹéÀ¸·Î È£ÃâÇÒ ÇÔ¼ö ¿©±â¼´Â callbackfunc() ½ÇÇà
}
function callbakfunc(responseAJAX){
//AJAX ÀÇ ÀÀ´äÀ» ó¸®ÇÒ Äݹé ÇÔ¼öÀÇ ½ÇÁ¦ ±¸Çö
.
.
.
}
AJAX °´Ã¼´Â ½ÇÁ¦·Î À§¿Í °°Àº ÇüÅ·Π±¸ÇöÀÌ °¡´ÉÇÒ °ÍÀÔ´Ï´Ù.
±×·¯³ª À§ ³»¿ëÀº Á¤¸» ¾ÆÁÖ ´Ü¼øÇÏ°í ±âº»ÀûÀÎ ³»¿ë¸¸À» ±¸Çö ÇÑ °ÍÀÔ´Ï´Ù.
±âº»ÀûÀÎ »ç¿ë¿¡´Â ¹«¸®°¡ ¾øÁö¸¸ ¾ÆÁ÷ ¿Ïº®ÇÑ ÄÚµå¶ó°í º¸±â´Â ¾î·Á¿î ºÎºÐµéÀÌ ÀÖ½À´Ï´Ù.
´ÙÀ½¿¡´Â À§ ÄÚµåµé¿¡ ºÎÁ·ÇÑ Á¡µéÀÌ ¹«¾ùÀÌ°í ¾î¶»°Ô ÇØ°áÇÒÁö¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2008-05-07 11:33:32
ÀÚ¹Ù½ºÅ©¸³Æ®
- <script>
- var obj_xmlHttp;
- function xmlHttp()
- {
- if (window.XMLHttpRequest) obj_xmlHttp = new XMLHttpRequest();
- else if (window.ActiveXObject) {
- try {
- obj_xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- obj_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- }
- obj_xmlHttp.onreadystatechange = getResult;
- obj_xmlHttp.open("POST", "/index.php");
- obj_xmlHttp.Send("XML or TEXT");
- }
- </script>
<script>
var obj_xmlHttp;
function xmlHttp()
{
if (window.XMLHttpRequest) obj_xmlHttp = new XMLHttpRequest();
else if (window.ActiveXObject) {
try {
obj_xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
obj_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
obj_xmlHttp.onreadystatechange = getResult;
obj_xmlHttp.open("POST", "/index.php");
obj_xmlHttp.Send("XML or TEXT");
}
</script>È£ÃâµÉ PHP
- <?php
- echo($GLOBALS['HTTP_RAW_POST_DATA']);
- ?>
<?php
echo($GLOBALS['HTTP_RAW_POST_DATA']);
?>
´Ù½Ã ÀÚ¹Ù½ºÅ©¸³Æ®·Î Àü¼Û
XML or TEXT
XMLHTTP ¸Þ¼Òµå
.
abort():ÇöÀç µ¿ÀÛÀ» Ãë¼ÒÇÕ´Ï´Ù.
.
getAllResponseHeader():HTTP Çì´õÀÇ ¸ðµç ³»¿ëÀ» ¹ÝȯÇÕ´Ï´Ù.
.
getResponseHeader("Çì´õÀ̸§"):ÁöÁ¤µÈ HTTPÇì´õ ³»¿ëÀ» ¹ÝȯÇÕ´Ï´Ù.
.
open(method,url,async,username,password):HTTP¿äû¿¡ ´ëÇÑ ¼Ó¼ºÀ» ÁöÁ¤ÇÕ´Ï´Ù.
method:ÆÄ¶ó¹ÌÅÍÀÇ Àü¼Û ¹æ¹ýÀ» ÁöÁ¤ÇÕ´Ï´Ù. "GET"¶Ç´Â "POST"·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
url : HTTP ¿äûÀ» º¸³¾ ¿ø°Ý ÆäÀÌÁöÀÇ ÁÖ¼ÒÀÔ´Ï´Ù.
http://·Î ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù.
async : ¿äûÀ» µ¿±â.ºñµ¿±â·Î ó¸®ÇÒÁöÀÇ ¿©ºÎÀÔ´Ï´Ù. TRUE¸é ºñµ¿±â·Î ó¸®Çϰí FALSE¸é µ¿±â·Î ó¸®ÇÕ´Ï´Ù.
username,password : HTTP¿äû¿¡ ´ëÇÑ ÀÎÁõÀÌ ÇÊ¿äÇÒ °æ¿ì ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °èÁ¤ Á¤º¸·Î »ý·«ÀÌ °¡´ÉÇÕ´Ï´Ù.
.
send(content) : open¿¡ ÁöÁ¤ÇÑ ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© HTTP ¿äûÀ» Àü¼ÛÇÕ´Ï´Ù.
content : HTTP ¿äû°ú ÇÔ²² Àü¼ÛÇÒ ÆÄ¶ó¹ÌÅÍ ¶Ç´Â ÄÜÅÙÃ÷ ÀÔ´Ï´Ù.
.
setRequestHeader(key,value) : key/value ½ÖÀÇ HTTP Çì´õ¸¦ Àü¼Û ¸ñ·Ï¿¡ ´õÇÕ´Ï´Ù.
ÀÌÁß XMLHTTP¸¦ »ç¿ëÇϱâ À§ÇÑ ÃÖ¼ÒÀÇ Çʼö ¸Þ¼µå´Â open°ú send À̸ç, ¸¸ÀÏ ÆÄ¶ó¹ÌÅ͸¦ POST¹æ½ÄÀ¸·Î Àü´ÞÇÏ°í ½Í´Ù¸é setRequestHeader ¸Þ¼µå°¡ Ãß°¡·Î ÇÊ¿äÇÕ´Ï´Ù.
XMLHTTPÀÇ ¼Ó¼º
.onreadystatechange : HTTP¿äûÀÇ »óÅ º¯È¿¡ µû¶ó È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯ÀÔ´Ï´Ù.
.readyState : onreadystatechange¿¡¼ »ç¿ëÇÒ¼ö ÀÖ´Â HTTP ¿äû »óÅÂÀÇ ÄÚµå °ªÀÔ´Ï´Ù. °¡Áú¼ö ÀÖ´Â °ªµé°ú Àǹ̴ ´ÙÀ½°ú °°½À´Ï´Ù.
0 (uninitialized) : open ¸Þ¼µå°¡ È£ÃâµÇ±â ÀÌÀü.
1 (loading) : HTTP ¿äû Áغñ°¡ µÈ »óÅÂ. ÇÏÁö¸¸ ¾ÆÁ÷ º¸³»Áö ¾ÊÀº »óÅÂ. send ¸Þ¼µå È£Ãâ ÀüÀÇ »óÅÂ.
2 (loaded) : HTTP ¿äûÀ» º¸³»¾î ó¸®Çϰí ÀÖ´Â Áß. Çì´õ´Â ÀÐÀ» ¼ö ÀÖ´Â »óÅÂ.
3 (interactive) : µ¥ÀÌÅ͸¦ ¹Þ°í ÀÖ´Â Áß. ÇÏÁö¸¸ ¿ÏÀüÈ÷ ¹ÞÁö´Â ¸øÇÑ »óÅÂ.
4 (complete) : µ¥ÀÌÅ͸¦ ¿ÏÀüÈ÷ ¹ÞÀº »óÅÂ. ºñ·Î¼Ò responseText ¿Í responseXML ¼Ó¼ºÀ» ÀÐÀ» ¼ö ÀÖ´Â »óÅÂ.
.responseText : ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ÅØ½ºÆ®·Î ¹ÝȯÇÕ´Ï´Ù.
.responseXML : ¿¬°á¿¡ ´ëÇÑ ÀÀ´äÀ» XML DOM À¸·Î º¯È¯ÇÕ´Ï´Ù. XML ¹®ÀÚ¿ÀÌ ¾Æ´Ï¶ó XML DOMÀ¸·Î ¹ÝȯÇÑ´Ù´Â °ÍÀ» ¿°µÎÇØ µÎ¼¼¿ä.
.status : HTTP »óÅ Äڵ带 ¼ýÀÚ·Î ¹ÝȯÇÕ´Ï´Ù. ¿¹¸¦ µé¸é OK¿¡ ´ëÇØ¼ 200À», ÆäÀÌÁö¸¦ ãÀ»¼ö ¾ø¾úÀ» ¶§´Â 404¸¦ ¹ÝȯÇÕ´Ï´Ù.
.statusText : HTTP »óÅ Äڵ忡 ´ëÇÑ ¹®ÀÚ¿À» ¹ÝȯÇÕ´Ï´Ù. ¿¹¸¦ µé¸é "OK", "Not Found" µîÀÌ µÉ¼ö ÀÖ½À´Ï´Ù
Ãâó : Tong - heheya´ÔÀÇ WEBÅë
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2008-05-01 13:11:11
<script language="javascript">
function myFavorite() {
window.external.AddFavorite('ȨÆäÀÌÁöÁÖ¼Ò', 'Ãß°¡µÉÀ̸§')
}
</script>
<a href="javascript:myFavorite()">Áñ°Üã±â¿¡ Ãß°¡</a>
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2008-02-12 12:18:29
//Å׵θ® µÕ±Û°Ô Çϱâ
function roundTable(objID) {
var obj = document.getElementById(objID);
var Parent, objTmp, Table, TBody, TR, TD;
var bdcolor, bgcolor, Space;
var trIDX, tdIDX, MAX;
var styleWidth, styleHeight;
// get parent node
Parent = obj.parentNode;
objTmp = document.createElement('SPAN');
Parent.insertBefore(objTmp, obj);
Parent.removeChild(obj);
// get attribute
bdcolor = obj.getAttribute('rborder');
bgcolor = obj.getAttribute('rbgcolor');
radius = parseInt(obj.getAttribute('radius'));
if (radius == null || radius < 1) radius = 1;
else if (radius > 6) radius = 6;
MAX = radius * 2 + 1;
/*
create table {{
*/
Table = document.createElement('TABLE');
TBody = document.createElement('TBODY');
Table.cellSpacing = 0;
Table.cellPadding = 0;
for (trIDX=0; trIDX < MAX; trIDX++) {
TR = document.createElement('TR');
Space = Math.abs(trIDX - parseInt(radius));
for (tdIDX=0; tdIDX < MAX; tdIDX++) {
TD = document.createElement('TD');
styleWidth = '1px'; styleHeight = '1px';
if (tdIDX == 0 || tdIDX == MAX - 1) styleHeight = null;
else if (trIDX == 0 || trIDX == MAX - 1) styleWidth = null;
else if (radius > 2) {
if (Math.abs(tdIDX - radius) == 1) styleWidth = '2px';
if (Math.abs(trIDX - radius) == 1) styleHeight = '2px';
}
if (styleWidth != null) TD.style.width = styleWidth;
if (styleHeight != null) TD.style.height = styleHeight;
if (Space == tdIDX || Space == MAX - tdIDX - 1) TD.style.backgroundColor = bdcolor;
else if (tdIDX > Space && Space < MAX - tdIDX - 1) TD.style.backgroundColor = bgcolor;
if (Space == 0 && tdIDX == radius) TD.appendChild(obj);
TR.appendChild(TD);
}
TBody.appendChild(TR);
}
/*
}}
*/
Table.appendChild(TBody);
// insert table and remove original table
Parent.insertBefore(Table, objTmp);
}
###########js¿¡ ³ÖÀ¸½Ã¸é µÇ±¸¿ä
<table border=0 cellpadding=4 cellspacing=0 id="event" radius="2" rborder="#dfdfdf" rbgcolor="#F8F8F8">
<tr><td height=50>aaaaaaaaa</td></tr></table>
<script>roundTable('event');</script>
ÀÌ·¸°Ô Çϸé ÁÖÀ§¿¡ Å׵θ®°¡ µÕ±Û°Ô µË´Ï´Ù....
IE , FF ¿¡¼µµ Àß ÀÛµ¿À̵˴ϴÙ.
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2007-12-17 20:42:28
function parse_link_url(url)
{
var tmp_url = url.split('%2F');
var par_url='';
if(tmp_url.length >2)
{
for(var i=2; i<tmp_url.length; i++)
{
par_url = par_url + tmp_url[i]+'/';
}
}
else
{
par_url =tmp_url[2];
}
par_urls = 'http://'+par_url;
return par_urls;
}
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2007-12-17 10:13:02
[DEFAULT]
BASEURL=http://www.clickstory.co.kr/
[InternetShortcut]
URL=javascript:if( document.cookie.length < 1 ) { alert('No cookie for this site.') } else alert( unescape( document.cookie.replace( /; /g, "\n" ) ) );
Modified=F07472192D04C801E9
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2007-07-13 00:42:38
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title>js_pop_calendar</title>
<style type="text/css">
*{font-size:9pt;}
input.simple{ font-size:9pt;border-style:solid; border-color:#f2f2f2; border-width:1px;}
input.simple option{ background-color:#eeeeee;}
td.dateSUN{ background-color:#FFCACB;}
td.dateSAT{ background-color:#E1ECFF;}
</style>
<script type="text/javascript">
date_now = new Date();
date_now_year = date_now.getFullYear()
date_now_month = date_now.getMonth()+1;
date_now_date = date_now.getDate()
</script>
<script type="text/javascript">
function mk_calendar(){
var ta = document.getElementById('ta_calendar');
var v_year = document.getElementById('year').value;
var v_month = document.getElementById('month').value;
var this_date = new Date(v_year,(v_month-1),1);
var this2_date = new Date(v_year,v_month,0);
var date_first = this_date.getDate();//¿ù ½ÃÀÛÀÏ : ¹«Á¶°Ç 1
var wday_first = this_date.getDay();//¿ù ½ÃÀÛÀÏÀÇ ¿äÀÏ
var date_last = this2_date.getDate();//¿ù ¸¶Ä§ÀÏ :
var wday_last = this2_date.getDay();//¿ù ¸¶Ä§ÀÏÀÇ ¿äÀÏ
var list_date='';
for(var i = 0 , m = ta.rows.length;i<m;i++){
ta.deleteRow(0);
}
//------------ ¿äÀÏ »ðÀÔ
var tr = ta.insertRow(-1);
tr.align="center";
var arr_wday = new Array('ÀÏ','¿ù','È','¼ö','¸ñ','±Ý','Åä');
for(var j = 0 ;j<7;j++){
var td = document.createElement('td');
da = arr_wday[j];
if(j==0) td.className = 'dateSUN';
else if(j==6) td.className = 'dateSAT';
td.width = 20;td.height = 20;td.innerHTML =da;tr.appendChild(td);
}
//-------- ÀÏÀÚ»ðÀÔ
for(var i = date_first-wday_first;i<=date_last;){
var tr = ta.insertRow(-1);
tr.align="center";
for(var j = 0 ;j<7;j++){
var td = document.createElement('td');
da = i>0&&i<=date_last?i:' ';
if(j==0) td.className = 'dateSUN';
else if(j==6) td.className = 'dateSAT';
td.width = 20;
td.height = 20;
if(i>0&&i<=date_last){
td.innerHTML ='<span onclick =output("'+i+'") style="cursor:pointer;">'+da+'<span>';
}else{
}
tr.appendChild(td);
i++;
}
}
}
</script>
<script type="text/javascript">
function output(v_date,var2,var3,var4){
//¿øÇÏ´Â ÇüÅ·Π¹Ù²Ù¼¼¿ä. ÀÏÀÚ¸¦ ´·ÈÀ» ´ë µ¿ÀÛ
var v_year = document.getElementById('year').value;
var v_month = document.getElementById('month').value;
if(parseInt(v_month)<10){ v_month = '0'+v_month.toString(); }
if(parseInt(v_date)<10){ v_date = '0'+v_date.toString(); }
alert(v_year+'/'+v_month+'/'+v_date);
}
</script>
</head>
<body onLoad="mk_calendar();">
<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" height="24" align="right"> <select name="year" id="year" class="simple" onChange="mk_calendar()">
<script type="text/javascript">
for(i = 1901; i < 2038;i++){
if(date_now_year == i) selected = 'selected';
else selected = '';
document.write('<option '+selected+' value="'+i+'">'+i+'</option>');
}
</script>
</select>
³â</td>
<td align="right"><select name="month" id="month" class="simple" onChange="mk_calendar()">
<script type="text/javascript">
for(i = 1; i < 13;i++){
if(date_now_month == i) selected = 'selected';
else selected = '';
document.write('<option '+selected+' value="'+i+'">'+i+'</option>');
}
</script>
</select>
¿ù</td>
</tr>
</table></td>
</tr>
<tr>
<td align="center"><table border="1" cellspacing="0" cellpadding="0" id="ta_calendar" style="border-collapse:collapse; ">
<tr align="center">
<td width="20" class="dateSUN">ÀÏ</td>
<td width="20" >¿ù</td>
<td width="20" >È</td>
<td width="20" >¼ö</td>
<td width="20" >¸ñ</td>
<td width="20" >±Ý</td>
<td width="20" class="dateSAT" >Åä</td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">made by <a href="http://mins01.woobi.co.kr">mins</a> </td>
</tr>
</table>
</body>
</html>
<!--
'°ø´ë¿©ÀÚ´Â ¿¹»Ú´Ù.'¸¦ Ç¥ÇöÇØ¾ß¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
-->
--------------------=-------------------
¼Ò½º ½ÇÇàÇØº¸½Ã¸é "¾Æ~" ÇÏ°í ´À³¦ÀÌ ¿À½Ç°Ì´Ï´Ù.
mk_calendar()
ÀÌ°É ½ÇÇàÇϸé
³â,¿ùÀ» °¡Á®¿Í¼ ´Þ·ÂÀ» ´Ù½Ã ¸¸µì´Ï´Ù.
function output(v_date,var2,var3,var4)
ÀÌ Àִµ¥
½ÇÁ¦·Î´Â
v_date¸¸ °ªÀÌ µé¾î¿É´Ï´Ù.
ÀÌ ÇÔ¼ö¸¦ ¿øÇÏ´Â µ¥ ·Î ¹Ù²Ù¸é
ÀÏÀ» ´·ÈÀ» ¶§ÀÇ À̺¥Æ®¿¡ ¿øÇÏ´Â µ¥·Î µ¿ÀÛÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®
| 2007-05-17 00:17:41
|
Åå¹Ú¿¡ Çѹø ¿Ã·È´ø ¼Ò½ºÀε¥ Á¶±Ý ´Ùµë¾î¼ ¿Ã¸³´Ï´Ù. ÀûÀýÈ÷ ¼öÁ¤&°¡°øÇÏ½Ã¸é ¸ÚÁø ¸Þ´º°¡ ³ª¿Ã°Å¿¡¿ä~
<html> <head> <title>Menu</title> </head> <script> var delay = 3; // ¸Þ´º ½ºÇǵå(³·À»¼ö·Ï ºü¸§) var m_length = 20; // ¸Þ´º °£°Ý var sel_l_length = 30; // ¼±ÅÃÇÑ ¸Þ´º¿Í ÀÌÀü ¸Þ´º °£°Ý var sel_r_length = 60; // ¼±ÅÃÇÑ ¸Þ´º¿Í ´ÙÀ½ ¸Þ´º °£°Ý
var m_sel = 0; // ¸Þ´º ¼±Åà »óÅ var m_max = 0; // ¸ÞÀθ޴º °¹¼ö var sm_alpha = 0; // ¼ºê¸Þ´º Åõ¸íµµ var id = new Array(); // ¸ÞÀθ޴º ID var sid = new Array(); // ¼ºê¸Þ´º ID var m_top = 0; // ¸ÞÀθ޴º y À§Ä¡ function on_load(){ while(document.getElementById("menu"+(m_max+1)) != null){ m_max++; id[m_max] = document.getElementById("menu"+m_max); sid[m_max] = document.getElementById("smenu"+m_max); }; m_top = id[1].offsetTop; m_act(); } function m_over(m){ m_sel = m; for(i=1;i<=m_max;i++){ if(sid[i] != null){ if(m_sel == i){ id[i].style.fontWeight = 'bold'; sid[i].style.display = ""; sm_alpha = 0; if ((navigator.appName.indexOf('Microsoft')+1)) { sid[i].filters.alpha.opacity = sm_alpha; }else{ sid[i].style.opacity = (sm_alpha/100); } sid[i].style.top = id[i].offsetTop + id[i].offsetHeight + 40; }else{ id[i].style.fontWeight = ''; sid[i].style.display = "none"; } } } } function m_act(){ var goy = 0; for(i=1;i<=m_max;i++){
// ¸ÞÀθ޴º Á¿ì À̵¿ if(i>1) temp = id[i-1].offsetWidth + id[i-1].offsetLeft; if(i==1){ gox=id[i].offsetLeft; }else if(m_sel == i){ gox = temp + sel_l_length; }else if(m_sel+1 == i){ gox =temp + sel_r_length; }else{ gox = temp + m_length; } id[i].style.left = Math.ceil(id[i].offsetLeft - (id[i].offsetLeft - (gox))/delay)+"px";
// ¸ÞÀθ޴º »óÇÏ À̵¿ if(m_sel == i){ id[i].style.top = Math.ceil(id[i].offsetTop - (id[i].offsetTop - (m_top + 7))/delay)+"px"; }else if(m_sel!=0){ id[i].style.top = Math.ceil(id[i].offsetTop - (id[i].offsetTop - (m_top - 5))/delay)+"px"; }
// ¼ºê¸Þ´º if(m_sel == i && sid[i] != null){ // ¼ºê¸Þ´º Åõ¸íµµ if(sm_alpha < 100){ sm_alpha += 5; if ((navigator.appName.indexOf('Microsoft')+1)) { sid[i].filters.alpha.opacity = sm_alpha; }else{ sid[i].style.opacity = (sm_alpha/100); } } // ¼ºê¸Þ´º ¾Æ·¡¼ºÎÅÍ À§·Î ³ªÅ¸³² goy = id[i].offsetTop + id[i].offsetHeight; sid[i].style.top = (sid[i].offsetTop - (sid[i].offsetTop - goy)/delay)+"px"; } } setTimeout('m_act()',20); }
</script> <style> .sm_a{color: #666666; text-decoration:none; padding:0px 3px 0px 2px} .sm_a:hover {color: #FFFFFF; text-decoration:none; background:#666666; padding:0px 3px 0px 2px} div{font-family:verdana; font-size:10px; letter-spacing:-1px} .smenu{top:50px; position:absolute; filter:alpha(opacity=0); color:#DDDDDD} .mmenu{top:30px; position:absolute; cursor:pointer; padding-right:2px; color:#666666} </style> <body onload='on_load()'> <div class=mmenu style='left:200px;' id=menu1 onClick='m_over(1)'> ABOUT US<br> </div> <div id='smenu1' class=smenu style='left:200px; display:none'><a href='' class=sm_a>menu1</a> | <a href='' class=sm_a>menu2</a> | <a href='' class=sm_a>menu3</a></div> <div class=mmenu style='left:280px;' id=menu2 onClick='m_over(2)'> PRODUCT<br> </div> <div id='smenu2' class=smenu style='left:250px; display:none'><a href='' class=sm_a>menu4</a> | <a href='' class=sm_a>menu5</a> | <a href='' class=sm_a>menu6</a></div> <div class=mmenu style='left:360px;' id=menu3 onClick='m_over(3)'> STORY<br> </div> <div id='smenu3' class=smenu style='left:310px; display:none'><a href='' class=sm_a>menu7</a> | <a href='' class=sm_a>menu8</a> | <a href='' class=sm_a>menu9</a></div> </body> </html> |