Paul: "Nicht implementiert" im IE

Moin!
Um den Funktionsaufruf nicht im body-Tag schreiben zu müssen (und so die js-Datei besser in andere Projekte einbinden zu können), habe ich in der js-Datei folgendes geschrieben:

function bodyOnload() {  
// ==================  
  if(document.body) document.body.onload = activateR(); //***  
  else window.setTimeout("bodyOnload();", 100); // ohne Timeout hier "too mutch recursion" im FF  
}

Im Firefox und im IE funktioniert es. Allerdings gibt der IE einen Fehler: "Nicht implenentiert" in der Zeile //***. Laufen tut's aber wie gesagt richtig.

Wie bekomme ich den Fehler weg?

Paul

  1. Wie bekomme ich den Fehler weg?

    Dein js als letzte Zeile vor dem End-Tag des body einbinden und den Funktionsaufruf ins File rein? Dann sparst du dir den Load-Krempel - oder stehe ich jetzt auf der Leitung?

    1. Dein js als letzte Zeile vor dem End-Tag des body einbinden und den Funktionsaufruf ins File rein? Dann sparst du dir den Load-Krempel - oder stehe ich jetzt auf der Leitung?

      Ne, geauso ist es. Allerdings möchte ich alle meine js-Dateien im header implementieren. Einfach um es übersichtlich zu halten und nicht im gesamten HTML Code verstreute js-Dateien zu haben.

      1. Ne, geauso ist es. Allerdings möchte ich alle meine js-Dateien im header implementieren.

        Du meinst im head? Aus Performancegründen ist das aber wenig schlau.

        Einfach um es übersichtlich zu halten und nicht im gesamten HTML Code verstreute js-Dateien zu haben.

        Wer sagt was von verstreuen? Vor dem End-Tag alles einfügen, wie du es sonst auch im head machen würdest.

        1. Du meinst im head?

          Ja, klar.

          Aus Performancegründen ist das aber wenig schlau.
          Wer sagt was von verstreuen? Vor dem End-Tag alles einfügen, wie du es sonst auch im head machen würdest.

          Mag sein, allerdings wird ein grosser Teil der Oberfläche per JS gebaut (ist bei OpenLayers nun mal so). Da wird der Seitenaufbau durch diese Methode eher verlangsamt. trotzdem Danke und ein schönes WE!

          1. OK, weiterlesen macht doch Sinn:
            #mein-javascript-modul{/* Design ohne Javascript hier */}

            Allerdings ist mir der Aufwand doch zu hoch.

  2. Hallo,

    if(document.body) document.body.onload = activateR(); //***

    So funktioniert das Registrieren eines Handlers nicht. Siehe http://molily.de/js/event-handling-grundlagen.html#fehler-handler-aufrufen.

    Mathias