2009-06-16 3 views
0

Wenn ich eine Seite, die mit PHP erzeugt wird und dann modifiziert JS verwendet, die unter Verwendung läuft:Können wir das Laden von Javascript vom Benutzer verstecken?

window.onload=myFunction;

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

Gibt es eine Möglichkeit zu vermeiden, dass der Benutzer diesen Prozess sehen oder ihn für ihn weniger sichtbar machen kann? Vielleicht gibt es eine geeignetere Methode, das Javascript als window.onload zu laden (eine, die anfangen kann zu arbeiten, während die Bilder usw. heruntergeladen werden)?

Antwort

3

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

Wenn das Skript geladen ist, können Sie diese Klasse entfernen und alle benötigten Dinge anzeigen. Sie können sogar die "loading" -Klasse verwenden, um einen ausgefallenen Hintergrund anzuzeigen, wie einen sich drehenden Kreis von Punkten in Mozilla.

Auch einige Projekte verwenden eine andere Methode zum Laden von Skripten anstelle von "onLoad". Zuerst erstellen Sie ein globales Array namens "domReady".

window.domReady = []; 

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

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

Und in der letzten Zeile des Dokuments Sie die Funktion setzen das wird alle geschoben Verfahren läuft:

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 sind .

0

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

$(document).ready(function() { 
    //Call your function here 
}); 
+1

Sie verwenden jquery, dann? Ich werde die Tags aktualisieren .... –

+2

Sie können das verkürzen, indem Sie $ (function() { // Ihr Code hier }); – OneSHOT

Verwandte Themen