View Single Post
ישן 10-10-09, 03:50   # 1
106FM
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2009
הודעות: 108

106FM לא מחובר  

רענון דיב עם AJAX כל חצי דקה

שלום,

לאחר חיפושים רבים בגוגל עם מילות המפתח :"refresh ajax div" ו "ajax refresh time" וכו'.

לא מצאתי את מה שחיפשתי... ולכן אני פותח כאן את האשכול הנ"ל.

אז, יש ברשותי DIV שמתרענן כל 3 דק' לבד, אבל בכדי לראות את הרענון - אתה צריך ללחוץ F5 (רענן). אני מעוניין לעשות כך שלא אצטרך ללחוץ F5 על מנת לרענן, כלומר, כל חצי דקה יהיה רענון אוטומתי אך ורק לDIV הזה בעזרת AJAX. במידה ויש שינוי - ישתנה. במידה ואין שינוי - אין שינוי. אבל כל חצי דקה יהיה רענון של AJAX.

הנה ה-DIV שלי שאני רוצה שיתרענן כל חצי דקה:

קוד:
<div id="loadPeriodical" class="box periodical"><table border="0" dir="ltr" align="center" width="95%" cellspacing="0" cellpadding="4">
  <tr bgcolor="#0D0D0D"> 
    <td colspan="2" nowrap align="left"> 
      <p><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>Now:</b></font>
    </td>
	<td nowrap align="Right"> 
      <p><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>Time</b></font>
    </td>
  </tr>

<? 
  $rc=0;
  PutSongRow($song); 
  $mainsong = $song;
?>
  


<?
 if(count($queue)>0){?>
<tr bgcolor="#666666"><td colspan="7" dir="rtl">
<center><b><font size="2" color="#000000">???:</font></b>

<font size="2" color="003366"><b>
<?
 $i=0;
 while(list($key, $song) = each($queue))
 {
  if(empty($song["artist"])) 
   $song["artist"] = 'Unknown';
  
   if($i>0) echo ", ";
   echo $song["artist"]; 
   if($song["requestid"]!=0)
	{ echo " ~בקשה~"; }
   $i++;
  
 }
?>
</b></font></center></td></tr>
<?}?>



  <tr bgcolor="#0D0D0D"> 
    <td colspan="7" nowrap> 
      <p align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF">Recently 
        played songs:</font> 
    </td>
  </tr>
  
<? 
  $rc=0;
  while(list($key, $song) = each($history))
    PutSongRow($song); 
?>
</table><br></div>
</div></div>
קרוב לוודאי, שאתם לא מבינים מה הDIV הזה עושה, ולכן אסביר בקצרה, למרות שזה לא כל-כך חשוב ולא המטרה. מטרת הדיב היא להציג את השירים שנוגנו, כלומר ברגע שנוגן עוד שיר, ניתן לראות זאת אך ורק ע"י F5 - ואני רוצה ע"י AJAX. חשוב לציין שה-DIV עובד ופועל כראוי.

ניסיתי גם להכניס את הקוד הזה לפני ה-DIV אך עדיין לא עובד:

קוד:
	
		<script type="text/javascript">
		function Ajax(){
		var xmlHttp;
			try{	
	xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
			}
			catch (e){
			try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
				}
			catch (e){
			    try{
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
			catch (e){
				alert("No AJAX!?");
				return false;
				}
			}
		}

		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState==4){
document.getElementByID('loadPeriodical').innerHTML=xmlHttp.responseText;
			setTimeout('Ajax()',4000);
		}
		}

		window.onload=function(){
		setTimeout('Ajax()',4000);
		}
		</script>
איך אני אמור לעשות רפרש לדיב הזה עם AJAX?


תודה מראש,

Last edited by 106FM; 10-10-09 at 04:14..
  Reply With Quote