Jam: location.href timing problem

  • Ich lade zwei frames mit
       ---- frame1.location = 'datei1';
       ---- frame2.location='datei2';
  • Anschließend möchte ich mit
       ---- document.frame1.pic[bildname].src = 'neues bild';
      eine grafik überlagern... (Name ist definiert)
  • Dabei kommt aber NetScape (4.73) ins trudeln: Es scheint so, als ob der frame noch nicht geladen
      ist und er deshalb den Grafiknamen nicht findet... Sieht schwer nach einem timing-problem aus.
  • Habe
       ---- frame1.reload();   ---- und
       ---- frame1.focus();
      ausprobiert - kein befriedigendes Ergebnis.
  • Gibt's vielleicht sowas ähnliches wie eine "wait()"-Funktion????? Sonstige Ideen oder Anregungen?
  1. Hi Jam,

    • Gibt's vielleicht sowas ähnliches wie eine "wait()"-Funktion?????

    Ja, gibt's: setTimeout() <../../tecb.htm#a45> ist Dein Freund!

    Grüße,

    Utz

  2. Hi
    Ja, es gibt eine "Wartefunktion" naemlich window.setTimeout("funktion();",wartezeit); (hat utz ja schon geschrieben)
    Ich wuerde eine Funktion basteln, die abfragt, ob das Bild existiert (Denn im boesesten Fall kann auch eine lange Wartezeit zu kurz sein). Wenn ja wird es getauscht, wenn nein wird nach einer bestimmten Zeit(im unteren Fall in 3000ms also 3s) die Funktion erneut aufgerufen
    function bildexistenz();
    {
    if (parent.frame1.images[bildname]).
    parent.frame1.images[bildname].src = 'neues bild';
    else window.setTimeout("bildexistenz()",3000)
    }

    Tschau Holger

  3. Hi Jam,

    • Ich lade zwei frames mit
         ---- frame1.location = 'datei1';
         ---- frame2.location='datei2';
    • Anschließend möchte ich mit
         ---- document.frame1.pic[bildname].src = 'neues bild';
        eine grafik überlagern... (Name ist definiert)
    • Dabei kommt aber NetScape (4.73) ins trudeln: Es scheint so, als ob der frame noch nicht geladen
        ist und er deshalb den Grafiknamen nicht findet... Sieht schwer nach einem timing-problem aus.
    • Habe
         ---- frame1.reload();   ---- und
         ---- frame1.focus();
        ausprobiert - kein befriedigendes Ergebnis.
    • Gibt's vielleicht sowas ähnliches wie eine "wait()"-Funktion????? Sonstige Ideen oder Anregungen?

    Kann es sein, dass du den Code zum aendern des Bilds zufaellig im Body
    definiert hast ?
    Also der Code nicht im Header steht und auch nicht als function
    definiert ist ?

    Wenn ja, dann pack das Ganze in den Header als function
    und ruf das Ganze mit dem onLoad im Body Tag auf...

    Bye,
    Jens