שלח תשובה

זירת השאלות

776
צפיות
11
תשובות

עזרה.. דחוף, שינוי תג META עם JS!!

,‏ 3 באוגוסט, 2006

אזד ככה.. שאלתי את זה בטעות בצד שרת.. יש לי תג META שמרענן את הדף כל 5 שניות, ויש לי פונקציה שפותחת תפריט מסויים.. אני רוצה שבתוך הפונקציה יהיה פקודה שמשנה את ה content של התג מ5 ל11… אמרו לי לעשות עם GetElementById וזה לא פועל.. אולי כי זה תג META ואולי כי לא עשיתי טוב..


<html>
<head>
<meta http-equiv="refresh" content="5" id="mref">
<SCRIPT language="JavaScript" type="text/javascript">
var ele = ";
var tem = ";
function show (nam) {
    ele = document.getElementById(nam);
    if((ele.innerHTML!=tem)&&(tem!=")){
    location="index2.asp"
    } else {
    tem=ele.innerHTML
    col="**********"
    cha="************"
    document.getElementById("mref").content = 11;
    ele.innerHTML = "<small>*************</small>";
}
}
</SCRIPT>
</head>
<body>

<table>
<tr>
<td height="50" width="100" style="border: 1px dotted;" id="room19" ondblclick="show(this.id)">*****bla bla bla*****<td>
</tr>
</table>

</body>
</html>


זה הקוד הכמעט המלא קיצצתי כל מה שלא קשור לפונקציה… עכשיו אני רוצה שכשהתפריט הזה נפתח יקח לו 11 שניות להתרענן…..
כשאני פותח את התפריט הוא ממשיך רגיל ומתרענן תוך כמה שניות.. למישהו יש מושג מה אני יכול לעשותלשנות כדי שזה יעבוד??  

תגיות:

11 תשובות

  1. adamfr הגיב:

    זה דחוף… ומצידי….
    שיבטל את הMETA כי אני יכול לשים לו פונקציה שתרענן אחרי 11 שניות… העיקר שלא ירענן לי כל 5 שניות כמו שקבעתי מרגע שפתחתי את הפונקציה :

  2. adamfr הגיב:

    עבר הרבה זמן.. –אף אחד לא יודע????
    אני מחכה לתשובה רק מפה : אם מישהו יודע או יכול למצוא לי דרך…
    תודה מראש.

  3. בניה הגיב:

    כנראה פעולת המטה נטענת
    ב"ה

    עם תחילת הדף.
    ולא ניתן לשנות את זה בזמן ריצה.
    תנסה לעשות את זה זה עם JS.

  4. adamfr הגיב:

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

    ושוב.. תודה מראש, אני מקווה שמישהו ידע 😀

  5. gilad123 הגיב:

    נסה את זה
    מה שאתה יכול לעשות עם META מפורט בקישור הזה
    http://www.w3schools.com/htmldom/dom_obj_meta.asp

    איך למצוא את הMETA? נסה לתת לו ID או NAME ולזהות לפי זה, או getElementsByTagName

  6. adamfr הגיב:

    דבר ראשון תודה על העזרה אבל…
    באתר יש רק את המאפיינים של תגי הMETA ושום דרך לשנות אותם.. וניסיתי עם הקוד הזה:


    mref=""
    mref=getElementsByTagName("ref")
    mref.content="50"

    ויש לי את התג הזה:


    <meta http-equiv="refresh" content="3" name="ref">

    הכל בHEAD
    והוא נותן לי שגיאה בזמן שהפונקציה מגיעה לgetElementByTagName….
    אולי יש משהו באתר שהבאתה שפיספסתי? או שלא עשיתי את זה טוב? :
    פליז :'( SOS

  7. adamfr הגיב:

    מצאתי את השגיאה שלי אבל עדיין לא פו
    אבל עדיין לא פועל….

    שיניתי את זה ל:


    mref=""
    mref=document.getElementsByTagName("ref")
    mref.content="50"

    ועכשיו אין שגיאה אבל הcontent לא משתנה והוא עדיין מתרענן אחרי 3 שניות…

  8. somebody הגיב:

    הרבה יותר קל יהיה לך לעשות את זה עם
    JS.


    <script type="text/javascript">
    var SeTime=3000;//שניה אחת=1000(3 שניות 3000)
    function ReloadPage(){
      window.location.reolad();
    }
    function StartReolad(){
    setTimeout("ReloadPage()",SeTime);
    SeTime=11000;
    }

    הגדרתי שבפעם הראשונה SetTime יהיה שווה 3 שניות, כל שניה אחת שווה 1000 מיליסקנד או מה שזה לא יהיה.
    ולאחר מיכן, בפעם השניה, השלישית וכו..
    זה ירענן כל 11 שניות.
    רק ב BODY תשים את זה:


    <body  onload="StartReolad();" >


    (מה שמודגש)

  9. adamfr הגיב:

    לא טוב לא טוב לא טוב
    ניסיתי וניסיתי לשנות וניסיתי עם clearTimeout ושום דבר אבל שום דבר לא עובד..
    אף אחד לא יכול להציל אותי?  

  10. adamfr הגיב:

    יש!!! עובד לי!!
    תודה מישהו הבאתה לי בסיס טוב הצלחתי!!!!    

שלח תשובה