Google
[1536]
 
 
 
 
 
 
 
 
 
 
 
 
¾×¼Ç½ºÅ©¸³Æ®  
 
 
 
 
 
 
 
 
 
 
 

auto refresh ±â´É, Áï ÀÚµ¿À¸·Î ÆäÀÌÁöÀÇ ÀÏÁ¤ºÎºÐÀ» ÁöÁ¤ÇÑ ½Ã°£¸¶´Ù Á¤º¸¸¦ ¾÷µ¥ÀÌÆ® ÇØÁÖ´Â ±â´ÉÀÌ´Ù.

¿ì¼± ÀÌ·± ±â´ÉÀ» ÀÌ¹Ì ±¸ÇöÇØ ³õÀº ½ÎÀÌÆ®µéÀ» »ìÆìº¸ÀÚ.

<ÃÖ±Ù ¼Ò½ÄÀ» ajax ¸¦ ÀÌ¿ëÇÏ¿© ¼ÒÆÃ ±â´ÉÀ» ±¸ÇöÇÑ ½ÎÀÌÆ®(www.digg.com/spy)>

<´Ù¿î·Îµå Ä«¿îÆ®¸¦ ajax ¸¦ ÀÌ¿ëÇÏ¿© ±¸ÇöÇÑ ½ÎÀÌÆ®(www.apple.com/itunes)>

À§ µÎ ½ÎÀÌÆ®¸¦ »ìÆìº¸¸é ÀÏÁ¤½Ã°£À» ¼³Á¤ÇÏ¿© Áö¼ÓÀûÀ¸·Î ÇØ´ç ºÎºÐ¸¸ Á¤º¸°¡ ¼öÁ¤µÇ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. À̹ø ÁÖÁ¦ ¿ª½Ã ajax ÀÇ ÀüÇüÀûÀΠƯ¡À¸·Î Àüü ÆäÀÌÁö°¡ »õ·Î°íħµÇÁö ¾Ê°í ÇÊ¿äÇÑ ÀÏÁ¤ºÎºÐ¸¸ Á¤º¸°¡ ¼öÁ¤µÈ´Ù´Âµ¥ ÀÖ´Ù.

 

´Ü¼øÇÑ ¿¹Á¦¸¦ ÅëÇØ¼­ auto refresh ±â´É¿¡ ´ëÇØ¼­ »ý°¢ÇØ º¸ÀÚ

 

[»ùÇñ¸Çöº¸±â]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
    <title>Ajax Dynamic Update</title>
    <script type="text/javascript">
        var xmlHttp;

        function createXMLHttpRequest() {
            if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();               
            }
        }
       
        function doStart() {
            createXMLHttpRequest();
            var url = "DynamicUpdateServlet?task=reset";
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = startCallback;
            xmlHttp.send(null);
        }

        function startCallback() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {                   
                    setTimeout("pollServer()", 5000);
                    refreshTime();
                }
            }
        }
       
        function pollServer() {
            createXMLHttpRequest();
            var url = "DynamicUpdateServlet?task=foo";
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = pollCallback;
            xmlHttp.send(null);
        }
       
        function refreshTime(){
            var time_span = document.getElementById("time");
            var time_val = time_span.innerHTML;

            var int_val = parseInt(time_val);
            var new_int_val = int_val - 1;
           
            if (new_int_val > -1) {
                setTimeout("refreshTime()", 1000);
                time_span.innerHTML = new_int_val;               
            } else {
                time_span.innerHTML = 5;
            }
        }
       
        function pollCallback() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {               
                    var message = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;                   
                   
                    if (message != "done") {
                        var new_row = createRow(message);
                        var table = document.getElementById("dynamicUpdateArea");
                        var table_body = table.getElementsByTagName("tbody").item(0);
                        var first_row = table_body.getElementsByTagName("tr").item(1);
                        table_body.insertBefore(new_row, first_row);                       
                        setTimeout("pollServer()", 5000);
                        refreshTime();
                    }
                }
            }
        }
       
        function createRow(message) {
            var row = document.createElement("tr");
            var cell = document.createElement("td");
            var cell_data = document.createTextNode(message);
            cell.appendChild(cell_data);
            row.appendChild(cell);
            return row;
        }
    </script>
  </head>
  <body>
    <h1>Ajax Dynamic Update Example</h1>
    This page will automatically update itself:
        <input type="button" value="Launch" id="go" onclick="doStart();"/>
    <p>
    Page will refresh in <span id="time">5</span> seconds.
    <p>
    <table id="dynamicUpdateArea" align="left">
        <tbody>
            <tr id="row0"><td></td></tr>
        </tbody>
    </table>
  </body>
</html>

<example11.html ÀÇ Àüü ¼Ò½º ÄÚµå>

<?
session_start();
class xmlClass{
var $items = array();
var $counter = 1;
var $task = "";

function outputXml(){
header("Content-type: text/xml");
printf("<?xml version=\"1.0\" encoding=\"%s\" ?>\n","EUC-KR");
print("<rss version=\"2.0\">\n");

$this->printChannel();

print("</rss>\n");
}

function printChannel(){
foreach($this->items as $item){
if($item["modelYear"] == $this->modelYear){
if($item["models"] == $this->make){
foreach ($item as $name => $value){
$value = htmlspecialchars($value);
printf("<%s>%s</%s>\n",$name,$value,$name);
}
}
}

}

}


function addItem($item){
array_push($this->items,$item);
}

function makexml(){
if ($this->task == "reset") {
//$this->counter = 1;
$_SESSION["counter"] = 1;

} else {
switch ($_SESSION["counter"]) {
case 1: $message = "Steve walks on stage"; break;
case 2: $message = "iPods rock"; break;
case 3: $message = "Steve says Macs rule"; break;
case 4: $message = "Change is coming"; break;
case 5: $message = "Yes, OS X runs on Intel - has for years"; break;
case 6: $message = "Macs will soon have Intel chips"; break;
case 7: $message = "done"; $_SESSION["counter"] = 0; break;
}
$_SESSION["counter"]++;
}

$this->addItem(array("message"=> $message));
$this->outputXml();

}

}

$myxml = new xmlClass();
$myxml->task = $task;
$myxml->makexml();

 

?>

 

<example11.php ÀÇ Àüü ¼Ò½º ÄÚµå>

 

 

À̹ø ¿¹Á¦´Â ½ÇÇà°á°ú È­¸éÀ» ¸ÕÀú º¸°í ¼³¸íÇÏ´Â °ÍÀÌ ÁÁÀ» µí ½Í´Ù.

 

[»ùÇñ¸Çöº¸±â]

 

»ç½Ç seconds °¡ 5, 4, 3, 2, 1 À¸·Î °ªÀÌ ÁÙ¾îµå´Â °ÍÀº ¼Ò½º¸¦ º¸¸é ¾Ë°ÚÁö¸¸ ÀÚ¹Ù½ºÅ©¸³Æ®·Î ó¸®ÇÑ °ÍÀ̰í Áß¿äÇÏ°Ô º¼°ÍÀº ±× ¾Æ·¡¿¡ ÀÖ´Â ¹®ÀÚ¿­ÀÌ´Ù. 5Ãʰ¡ Áö³¯¶§¸¶´Ù ºê¶ó¿ìÀú´Â ¼­¹ö¿¡ ºñµ¿±âÀûÀ¸·Î Á¢¼ÓÇØ °ü·Ã µ¥ÀÌÅ͸¦ ÃßÃâÇÏ¿© Ãß°¡ÇØÁÖ´Â ºÎºÐÀÌ´Ù.

 

¼Ò½º´Â ±×¸® ±æÁö´Â ¾ÊÁö¸¸ dynamicUpdate.html ¼Ò½º´Â ½ºÅ©¸³ÆÃ 󸮰¡ Á» µé¾î°¡ ÀÖ´Ù. ÇÏÁö¸¸ Áö±Ý±îÁöÀÇ °­ÀÇ ³»¿ëÀ» Àß Àоôٸé óÀ½³ª¿À´Â Äڵ峪 ÀÌÇØ°¡Áö ¾Ê´Â °÷Àº ¾øÀ¸¸®¶ó »ý°¢ÇÑ´Ù.