Frage

Wenn ich eine Seite, die PHP generiert wird und anschließend modifiziert JS verwenden welche ausgeführt werden:

window.onload=myFunction;

Dann sieht der Benutzer die ursprüngliche Seite, die dann um Flick erscheint als der js Code ausgeführt wird und fügt seine eigene Bits auf die Seite.

Gibt es eine Möglichkeit, die Benutzer in der Lage zu vermeiden, diesen Prozess zu sehen, oder um zumindest macht es weniger offensichtlich zu ihnen? Vielleicht gibt es eine geeignetere Methode von JavaScript als window.onload (eine, die wie die Bilder usw. zu arbeiten, sind das Herunterladen beginnen kann) geladen?

War es hilfreich?

Lösung

Ich möchte zunächst Einstellungen etwas Klasse auf den Körper empfehlen, der die Sichtbarkeit einiger Elemente wechseln wird.

<body class="loading"> .... </body>

Wenn dann das Skript Laden abgeschlossen ist, können Sie diese Klasse entfernen und zeigen all die Dinge, die Sie benötigen. Sie können sogar die „Laden“ Klasse verwenden, um einige Phantasie Hintergrund zu zeigen, wie ein Kreisel Kreis von Punkten in Mozilla.

Auch verwenden einige Projekte ein anderes Verfahren zum Laden von Skripten anstelle von „onLoad“. Zuerst Sie eine globale Array erstellen, lassen Sie uns sagen, mit dem Namen „domready“.

window.domReady = [];

Und wenn Sie eine Funktion hinzufügen müssen, die beim Laden der Seite ausgeführt werden, werden Sie es nur schieben und in dieser Reihe:

window.domReady.push( function foo(){ alert('Hey!'); } );

Und in der letzten Zeile des Dokuments Sie die Funktion setzen, die alle geschoben Verfahren ausgeführt werden:

for (procedure in window.domReady) {
    window.domReady[procedure].call();
}

Da es die letzte Zeile des Dokuments vor dem letzten Tag sein wird, wird das DOM bereit sein, und Sie müssen nicht warten, bis alle Bilder geladen werden.

Andere Tipps

OK fand ich dieses kleine Nugget von Jquery, die eine Behandlung funktioniert:

$(document).ready(function() {
  //Call your function here
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top