nsteiner: Firefox-Equivalent zu document.readyState

Ich suche ein Firefox-Equivalent zum document.readyState (Microsoft Internet Explorer). Genauer geht es mir dabei um den Zustand "completed".

Ich möchte in einer Firefox-Extension auf die Betätigung eines Buttons hin ein "bitte warten bis das Dokument komplett geladen ist" anzeigen. An sich kein Problem, folgender Code löst das Problem:

  
document.addEventListener('DOMContentLoaded', function(scope) {  
  return function(e) {  
    // Ausgabe: "bitte warten bis das Dokument komplett geladen ist"  
    scope.inspectOnContentLoaded();  
  }  
}(this), false);  

Leider feuert der Listener keinen Event, wenn das Dokument zur Zeit der Ausführung bereits komplett geladen ist.

Die Lösung für dieses Problem wäre im Internet Explorer eine recht simple Erweiterung:

  
if (!document.readyState == 'completed') {  
  document.addEventListener('DOMContentLoaded', function(scope) {  
    return function(e) {  
      scope.inspectOnContentLoaded();  
    }  
  }(this), false);  
} else {  
  this.inspectOnContentLoaded();  
}  

Leider scheint es für den Firefox eine solche Eigenschaft, welche den aktuellen Status des Dokuments kommuniziert, nicht zu geben. Sämtliche Versuche, den Listener zu einem anderen Zeitpunkt zu adden oder im Netz beschriebene Hacks zu verwenden, scheitern an der speziellen Firefox-Extension Umgebung.

Ich bräuchte eine simple Lösung, welche der Verwendung eines document.readyState möglichst nahe kommt.

Kann mir da jemand von euch einen Tipp geben?

Nico

  1. Hallo erstmal!

      
    <!-- vereinfacht -->  
    <html>  
       <head />  
       <body onload="setzte_globale_JS_variabe()">  
          <!-- etc. -->  
    
    

    So brauchst Du nur noch abzufragen, ob die Variable existiert, bzw., wenn sie vorher z. B. mit Wert false deklariert wurde, ob sie den jetzt endlich true ist.

      
       if ( globale_JS_variabe ) {  
                 this.inspectOnContentLoaded();  
       }  
    
    

    Gruß aus Berlin!
    eddi

    --
    (v0.0.3 - also ganz der alte ;)