הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 10-06-07, 16:43   # 1
sUP
משתמש תחת חוזה ניסיון.
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אזור חיפה
הודעות: 1,948

sUP לא מחובר  

בעיה רצינית עם AJAX וTimeout

אהלן
אני בונה פה ללקוח עמוד סטטוס שמציג את המצב של האתר שלו
ואמור להתעדכן כל 30 שניות דרך AJAX

אני פשוט מציג span id="xx" ולשם מעדכן את התוכן

הבעיה היחידה - זה לא מעדכן

זה מריץ את זה פעם אחת אבל לא מעדכן

הנה הקוד של העדכון והקריאה:
HTML קוד:
var detailID = 0;


function UpdateDetails() {
   if(detailID) {
      clearTimeout(detailID);
      detailID  = 0;
   }

   ajax("details.php?show=onlinemembers", "onlinemembers");
   ajax("details.php?show=onlinevips", "onlinevips");
   ajax("details.php?show=onlinevips", "onlinevips2");
   ajax("details.php?show=onlineguests", "onlineguests");
   ajax("details.php?show=onlinetotal", "onlinetotal");

   ajax("details.php?show=uniquetoday", "uniquetoday");
   ajax("details.php?show=uniquetotal", "uniquetotal");
   ajax("details.php?show=pagestoday", "pagestoday");
   ajax("details.php?show=pagestotal", "pagestotal");

   ajax("details.php?show=membersregular", "membersregular");
   ajax("details.php?show=membersvip", "membersvip");
   ajax("details.php?show=membersvip", "membersvip2");
   ajax("details.php?show=membersedit", "membersedit");
   ajax("details.php?show=memberstotal", "memberstotal");

   ajax("details.php?show=financetoday", "financetoday");
   ajax("details.php?show=financeyesterday", "financeyesterday");
   ajax("details.php?show=financetotal", "financetotal");

   ajax("details.php?show=arrows", "arrows");

   ajax("details.php?show=last10", "last10");

   detailID = setTimeout("UpdateDetails()", 30000);

}
והנה הקוד של ה AJAX:

HTML קוד:
function GetXmlHttpObject(handler) { 
var objXmlHttp=null

	if (navigator.userAgent.indexOf("MSIE")>=0) { 
		var strName="Msxml2.XMLHTTP"

		if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
			strName="Microsoft.XMLHTTP"
		} 

		try { 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return objXmlHttp
		} 

		catch(e) { 
			alert("Error. Scripting for ActiveX might be disabled") 
			return 
		} 
	} 


	if (navigator.userAgent.indexOf("Mozilla")>=0) {
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}

} 


function ajax(url,targ) {

targe = targ;

	xmlHttp = GetXmlHttpObject(stateChanged);
	xmlHttp.open("GET", url , true);
	xmlHttp.send(null);
}

function stateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		document.getElementById(targe).innerHTML=xmlHttp.responseText;
	} 
}
תודה מראש
__________________

לפרטים נוספים dani3l@gmail.com (אימייל)
  Reply With Quote
ישן 10-06-07, 17:58   # 2
4ior
חבר וותיק
 
4ior's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,451

4ior לא מחובר  

תמחוק את זה:
קוד:
if(detailID) {
      clearTimeout(detailID);
      detailID  = 0;
   }
  Reply With Quote
ישן 10-06-07, 17:58   # 3
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

אני מהמר שהבעיה היא בשעון שלך ולא ב AJAX עצמו,
אם הבעיה קוראת רק ב IE שים לב של IE יש בעיה עם ה CHACE והוא לא מרענן את התוכן של בקשת ה XML עד לפעם הבאה שתסגור את הדפדפן ותפתח...

הפתרון... אני אתן לך להיות יצירתי קצת
  Reply With Quote
ישן 10-06-07, 18:51   # 4
sUP
משתמש תחת חוזה ניסיון.
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אזור חיפה
הודעות: 1,948

sUP לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
אני מהמר שהבעיה היא בשעון שלך ולא ב AJAX עצמו,
אם הבעיה קוראת רק ב IE שים לב של IE יש בעיה עם ה CHACE והוא לא מרענן את התוכן של בקשת ה XML עד לפעם הבאה שתסגור את הדפדפן ותפתח...

הפתרון... אני אתן לך להיות יצירתי קצת
הבעיה קיימת גם בFF

אני לא ממש אשף ב JS לצערי ואין לי זמן ללמוד בשביל זה זה די דחוף
זה הפלזמה של FGC חח אור עצבני


4ior הורדתי לא עזר
__________________

לפרטים נוספים dani3l@gmail.com (אימייל)
  Reply With Quote
ישן 10-06-07, 19:04   # 5
Tomer
Whatever
 
Tomer's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 7,039
שלח הודעה באמצעות MSN אל Tomer Send a message via Skype™ to Tomer

Tomer לא מחובר  

תדליק את ה setTimeout ב onload, ואל תקבע אותו יותר או תבטל אותו... זה אמור לעבוד.
__________________
תומר
  Reply With Quote
ישן 10-06-07, 19:10   # 6
sUP
משתמש תחת חוזה ניסיון.
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אזור חיפה
הודעות: 1,948

sUP לא מחובר  

ציטוט:
נכתב במקור על ידי Tomer צפה בהודעה
תדליק את ה setTimeout ב onload, ואל תקבע אותו יותר או תבטל אותו... זה אמור לעבוד.
אבל צריך לקרוא לפונקציה כל 60 שניות מתוך הפונקציה XD
__________________

לפרטים נוספים dani3l@gmail.com (אימייל)
  Reply With Quote
ישן 10-06-07, 21:19   # 7
4ior
חבר וותיק
 
4ior's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,451

4ior לא מחובר  

אממ, אולי תנסה לשים את
detailID = setTimeout("UpdateDetails()", 30000);

מחוץ לפונקציה..
  Reply With Quote
ישן 10-06-07, 21:43   # 8
sUP
משתמש תחת חוזה ניסיון.
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אזור חיפה
הודעות: 1,948

sUP לא מחובר  

ציטוט:
נכתב במקור על ידי 4ior צפה בהודעה
אממ, אולי תנסה לשים את
detailID = setTimeout("UpdateDetails()", 30000);

מחוץ לפונקציה..
זה אמור להיות בתוך הפונקציה
__________________

לפרטים נוספים dani3l@gmail.com (אימייל)
  Reply With Quote
ישן 11-06-07, 11:32   # 9
The Crow
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: קריית אונו
גיל: 36
הודעות: 181
שלח הודעה באמצעות MSN אל The Crow

The Crow לא מחובר  

בלי שום קשר לבעיה.
עם כמות הבקשות האלו אתה תחנוק את הדפדפן ואת השרת.
ממליץ לך בדחיפות לטפל בזה...
  Reply With Quote
ישן 11-06-07, 12:30   # 10
sUP
משתמש תחת חוזה ניסיון.
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אזור חיפה
הודעות: 1,948

sUP לא מחובר  

ציטוט:
נכתב במקור על ידי The Crow צפה בהודעה
בלי שום קשר לבעיה.
עם כמות הבקשות האלו אתה תחנוק את הדפדפן ואת השרת.
ממליץ לך בדחיפות לטפל בזה...
איזה עוד אופציות יש לי ?

זה שרת בחול והבנאדם יש לו משרדים בארץ ובחול
והוא רוצה להציג את הסטטיסטיקות האלה במשרדים על פלזמה

אז אני לא יכול פשוט לרפרש את הדף כי הטעינה של העמוד זה איזה כמה שניות
בכל זאת שרת בחול אז אני צריך לעדכן רק תמספרים בלי לעדכן תתמונות וזה

שזה בעייתי רצח אבל זה מה שהוא ביקש
__________________

לפרטים נוספים dani3l@gmail.com (אימייל)
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 17:18.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ