Marcus: Probleme mit "complete"

Hallo,

um zu prüfen, ob ein User Online Zugang hat,
rufe ich in einer lokalen HTML Datei, die ein Bild namens "LoadStat" via HTTP lädt folgende Funktion auf.
Leider wird die Variable nie "true".
Hat jemand eine Idee?

Danke vielmals!

_marcus

function checkNetworkAccess(theTrial)
{
var NetAccess;

NetAccess = false;

for (var iCount = 0; iCount < theTrial; iCount++)
 {
 if (document.LoadStat.complete == true)
  {
  NetAccess = true;
  }
 }
if (NetAccess == true)
 {
 alert("Sie sind Online!");
 }
else
 {
 alert("Sie sind NICHT Online!");
 }
}

  1. Hi,

    Leider wird die Variable nie "true".

    hast Du sie mal raus-alert()et?

    for (var iCount = 0; iCount < theTrial; iCount++)

    Dir ist bewusst, dass Du den Rechner hiermit praktisch vollständig blockierst? Beschäftige Dich mit Timeouts.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi

      hast Du sie mal raus-alert()et?

      Ja, hab ich, standhaft "false" :)

      Dir ist bewusst, dass Du den Rechner hiermit praktisch vollständig blockierst? Beschäftige Dich mit Timeouts.

      Hast ja recht, die Schleife war nur der erste Wurf, um für den Test der "complete" Methode auf Nummer sicher zu gehen...falls der Zustand des Bildes bei der ersten Prüfung nicht korrekt zurückgegeben wird.

      Aber darüber hinaus? Mach ich da was völlig falsches?

      Danke & Gruß
      _marcus

      Cheatah

      1. Hi Cheatah,

        vielleicht noch interessant:
        Wenn das Bild mit relativem Pfad geladen wird, funktioniert alles prima. Nur abolut bockt.

        Gruß
        _marcus

        1. Hi,

          Wenn das Bild mit relativem Pfad geladen wird, funktioniert alles prima. Nur abolut bockt.

          hm, genau dieser Teil fehlt leider bei Deinem Code ... Möglicherweise hast Du bei der absoluten Angabe einen Fehler gemacht; oder die Same Origin Policy greift o.ä.

          Cheatah

          --
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  2. function checkNetworkAccess(theTrial)
    {
    var NetAccess;

    NetAccess = false;

    for (var iCount = 0; iCount < theTrial; iCount++)
    {
    if (document.LoadStat.complete == true)
      {
      NetAccess = true;
      }
    }
    if (NetAccess == true)
    {
    alert("Sie sind Online!");
    }
    else
    {
    alert("Sie sind NICHT Online!");
    }
    }

    Image.complete ist ein absolut unzuverlässiger Kanditat, für das was du machen willst gibt es onerror und onload. einfach und sauber:

    <img onload="NetAccess=true;" onerror="NetAccess=false;" src="....">

    Struppi.

    1. Image.complete ist ein absolut unzuverlässiger Kanditat, für das was du machen willst gibt es onerror und onload. einfach und sauber:

      <img onload="NetAccess=true;" onerror="NetAccess=false;" src="....">

      Cool, danke!
      Funktioniert in jedem Fall aber nur beim ersten Mal,
      danach ist das Bild gecached, richtig?

      _marcus