Sebastian Becker: timer trouble

Hallo,

mein Problem: beim Laden eines Bildes, oder falls das Bild nicht existiert, soll eine Variable gesetzt und eine Funktion aufgerufen werden.

Das folgende Script funktioniert leider nicht, d.h. die Variable wird nicht gesetzt. Hab' ich vielleicht Tomaten vor den Augen? ;-)

Danke für die Aufklärung, Grüße,

Sebastian Becker

-----------------

startTimer()
{
var timer_start=true;
}

function preloadImage()
{
document.write("<img src='img/test.jpg' onLoad='startTimer();' onError='startTimer();'>");
}

if(timer_start==true) replaceURL();

  1. Hallo,

    Das folgende Script funktioniert leider nicht, d.h. die Variable wird nicht gesetzt. Hab' ich vielleicht Tomaten vor den Augen? ;-)

    [...]

    startTimer()
    {
    var timer_start=true;
    }

    function preloadImage()
    {
    document.write("<img src='img/test.jpg' onLoad='startTimer();' onError='startTimer();'>");
    }

    if(timer_start==true) replaceURL();

    Die zweite Funktion kennt die Variable der ersten nicht, also lagere vor die Funktionen:
    var timer_start=false;
    um die Variable global zu initialisieren. In der ersten Funktion reicht dann timer_start=true;

    MfG, Thomas

    1. Hallo, Thomas,

      Die zweite Funktion kennt die Variable der ersten nicht, also lagere vor die Funktionen: var timer_start=false; um die Variable global zu initialisieren. In der ersten Funktion reicht dann timer_start=true;

      Hab' ich ja gemacht - ich habe das Skript natürlich nur auszugsweise wiedergegeben.

      Grüße,

      Sebastian

      1. Hallo, Thomas,

        Die zweite Funktion kennt die Variable der ersten nicht, also lagere vor die Funktionen: var timer_start=false; um die Variable global zu initialisieren. In der ersten Funktion reicht dann timer_start=true;

        Hab' ich ja gemacht - ich habe das Skript natürlich nur auszugsweise wiedergegeben.

        Grüße,

        Sebastian

        Hallo
        Ich glaube dein Problem liegt darin, dass das Ereignis onLoad nicht für das image Tag definiert ist (siehe auch Selfhtml), Onerror hingegen schon
        Teste einfach mal nur in HTML folgenden Code mit und ohne onLoad:
        <img src="test.jpg" onLoad="alert('test')" onError="alert('test')">
        Wenn das Bild nicht da ist wird ein Fehler erzeugt. Wenn es vorhanden ist wird trotzdem eine Fehlermeldung erzeugt und zwar wegen des falschen OnLoad.

        Wenn du eine Möglichkeit gefunden hast, beim Laden von Bildern auf Javascript zuzugreifen, dann sag mir Bescheid(interessiert mich auch)

        MFG Joe

        1. Hallo, Joe,

          Ich glaube dein Problem liegt darin, dass das Ereignis onLoad nicht für das image Tag definiert ist (siehe auch Selfhtml), Onerror hingegen schon

          Angeblich ist es doch für "img" definiert:

          onload Event
          Fires immediately after the browser loads the object.

          The browser loads applications, embedded objects, and images as soon as it encounters ... img objects during parsing. Consequently, the onload event for these objects occurs before the browser parses any subsequent objects.

          To ensure that an event handler receives the onload event for these objects, place the script object that defines the event handler before the object and use the onload attribute in the object to set the handler.
          <<

          http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events/onload.asp

          Ich werd' mal weiter testen ...

          Grüße,

          Sebastian