לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 06-10-2005, 16:19
  hannibal218 hannibal218 אינו מחובר  
 
חבר מתאריך: 05.09.05
הודעות: 72
שאלה שג'אווה סקריפט יחכה ל PHP .....

הי, זוכרים את השאלה שלי, מהעיצוב, של הגודל פונטים, אז השאלה הזו היא על אותה מערכת

באחד ממצבי הפעולה שם, הפריים השמאלי צריך לקבל מידע מהפריים הימני ופונקציות ג'אווה סקריפט רצות מהמידע הזה.
המידע בפריים השמאלי נוצר באמצעות php ושאילתות לדטה בייס.

הסתבר לי, שהפריים השמאלי לא "מחכה" למידע ורץ על עיוור ולכן היה נותן לי שגיאות של אובייקט לא קיים וכו' (כי ה php לא סיים להדפיס אותו), אז הכנסתי setTimeout וזה עבד מצויין.

אבל מה הבעיה?, מן הסתם כשהעלתי את המערכת לאינטרנט דברים נהיו יותר איטיים ומלחכות עשירית שניה זה מחכה עכשיו שניה שלמה לנתונים. ועוד בעיה גם שניה לא מבטיח במאה אחוז שהנתונים יגיעו.

לכן השאלה שלי היא, אם אפשר במקום להגיד לו לחכות זמן מסויים, להגיד במקום לחכות עד שאובייקט מסויים יהיה מוגדר? חשבתי למשל בלולאת while לעשות דבר כזה לתקוע את הדף כאילו עד ש if(object) יחזיר true , מה אתם ממליצים?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 06-10-2005, 17:54
  hannibal218 hannibal218 אינו מחובר  
 
חבר מתאריך: 05.09.05
הודעות: 72
לא נראה לי שזה יעבוד
בתגובה להודעה מספר 2 שנכתבה על ידי ישראל K שמתחילה ב "חשבתי גם על האפשרות האחרונה..."

לולאת while תופסת 100% משאבי מעבד, אני מפחד לתקוע את המחשב
בקשר לדבר השני שהצאת, איך אפשר לייסם דבר כזה?


הדף ש"מחכה" למעשה מחכה שהדף השני יסיים לבצע שאילתה בטה בייס, ויקבל את המשתנים שלה, ואז יכניס אותם לפורם מוסתר, ואז רק ברגע שהphp סיים לעשות את זה, הג'אווה סקריפט יכול לגשת לפורם הזה

שאלה נוספת... אני יכול לעשות שני setTimout שירוצו ביחד?

אוקי, אני אגלה קצת יותר מידע, החלון שמימין כל דקה עושה את השאילתא הזו לדטה בייס, מקבל את המידע האחרון שהוכנס ומציג למסך.
בחלון שמשמאל מודפסת טבלה של הארועים לפי זמן ויום.
ככה שאיך זה צריך לעבוד...
1) המערכת מופעלת החלון שמימין לוקח את הארוע האחרון שיש לו - החלון שמשמאל מחכה חצי שניה ואז לוקח את הנתונים מהחלון שמימין ומציג על המסך
2) עברו 60 שניות - החלון שמימין עושה את השאילתה מחדש (הדטה בייס כל הזמן מתדעכן)
3) פה יש לי בעיה... אני לא מצליח לגרום לחלון שמשמאל לחכות את ה 60 שניות האלה, כי כבר הגדרתי לו לחכות את החצי שניה (למעשה אני צריך להכניס את הפעולה של "לחכות חצי שניה" לתוך לולאה מחזורית של "לחכות דקה"

עזרה אנשים
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 06-10-2005, 21:48
  hannibal218 hannibal218 אינו מחובר  
 
חבר מתאריך: 05.09.05
הודעות: 72
זה בדיוק מה שאני עושה
בתגובה להודעה מספר 4 שנכתבה על ידי ישראל K שמתחילה ב "תלמד לעבוד עם אובייקטים..."

יש קשר בין הפריימים - יש להם את אותו ה parent

בכל מקרה בפריים אחד, אני צריך לחכות עד מנקודת מבט הפריים עצמו אובייקט כזה :

parent.frames.FRAMENAME.forms[FORMNAME].elements[ELEMENTNAME].value

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

מה גם שאני רוצה לדגום את האובייקט הזה כל דקה, יש לך רעיונות, מושג?

ללמוד אני יכול אני מחפש בספרים ובבית יש לי כמעט כל ספר שאני יכול לחשוב עליו, אבל אם משהו כבר נתקל וכבר יודע, זה יכול להועיל מאוד. לא צריך שיגידו לי *איך* לכתוב את הקוד, רק אם יש איזה פונקציית ג'אווה סקריפט שעושה מה שאני רוצה בלי setTimeout.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 09-10-2005, 01:01
  hannibal218 hannibal218 אינו מחובר  
 
חבר מתאריך: 05.09.05
הודעות: 72
הקוד כזה..
בתגובה להודעה מספר 7 שנכתבה על ידי ישראל K שמתחילה ב "* התותחים בשדה הקרב... * אלו..."

יש לי פריים אחד בשם display

שם יש :

echo "<meta http-equiv=\"refresh\" content=\"60;URL='display.php?refresh=true'\">";

$queryC = "select max(cl_id) from sharon.tb_newresults where cl_command=\"standard query\"";
$resultC = mysql_query($queryC);
$rowC = mysql_fetch_array($resultC);
$query = "select * from sharon.tb_newresults where cl_id=\"$rowC[0]\"";

בסופו של דבר יש לי את זה :

echo "<form name=currentTime id=currentTime>
<input type=hidden name=lastDate value='$lastDate'>
<input type=hidden name=lastTime value='$lastTime'>
</form>";

עכשיו יש פריים נוסף בשם
commands
שבטעינה קורא לפונקציית ג'אווהסקריפט הזו :

function switchRefresh()
{

var refresh = parent.window.document.forms['refreshFlag'].elements['refresh'].value;
//this part deals with the setting or closing of auto refresh
if (1 == refresh)
{
var repeat = true;
parent.window.document.forms['refreshFlag'].elements['refresh'].value = 0;
document.getElementById('refresh').src = 'img/B-autoRefresh_on.bmp';
parent.frames.display.window.location='display.php ?refresh=true';
if (document.getElementById('error'))
document.getElementById.style.visibility = 'hidden';
if (repeat)
{
window.setTimeout("getLastEvent()", 100);
repeat = false;

}
if (!repeat) window.setTimout("getLastEventTimeout()",60000);

}

הבעיה היא, שבלי לחכות, הפורם לא מוכן בפריים השני, עכשיו שימו לב, שיש שם רפרש כל דקה, הייתי רוצה שגם פה בפונקציית ג'אווה יהיה רפרש כל דקה (אחרי המאית שניה שצריך לחכות) כדי לקבל את הנתונים החדשים כל פעם
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:20

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר