Frage

Ich habe eine Seite, wo ich diesen Code zu vermeiden Fehler putten haben:

$(function() {
  var fnDocumentReady = function() {
    if(document.readyState != "complete") {
      setTimeout(function () { fnDocumentReady(); }, 300);
      return;
    }

    //do stuff
  };

  fnDocumentReady();
});

Aber ich habe vor kurzem entdeckt, dass in FF 3.5 nicht den Code ausführen, wo die „Dinge tun“ ist. Nach der Analyse und debbuging erkannte ich, dass document.readySate in FF immer undefined ist. Gibt es eine Möglichkeit, dies für etwas zu ersetzen, andere, die ähnlich funktionieren ??

Danke!

War es hilfreich?

Lösung

Zur Beantwortung der Warum Teil: document.readyState wurde hinzugefügt Firefox 3.6 .


Es gibt keine Notwendigkeit, hier für die zusätzliche Überprüfung, bereits jQuery abstrahiert Erkennen, wenn das DOM bereit ist, alles, was Sie brauchen, ist:

$(function() {
  //do stuff
});

Wenn Sie alle die Bilder wollen, sind, bevor Sie Ihren Code ausgeführt wird geladen, nur window.onload verwenden stattdessen wie folgt aus:

$(window).load(function() {
  //do stuff
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top