JQuery - AfterDocumentReady?

8

Gibt es ein Ereignis, das ich registrieren kann und das ausgeführt wird, nachdem alle $(document).ready -Skripte ausgeführt wurden? Ich habe ein Stück Code, das ausgeführt werden muss, nachdem die ganze Seite vollständig geladen ist (auch die jQuery-Skripte). Ist das möglich?

Ich muss dies in einer Skriptdatei registrieren, daher kann die Funktion nicht am Ende der Seite platziert werden.

    
Kees C. Bakker 05.08.2011, 09:26
quelle

4 Antworten

2

Es ist nicht möglich, ein Ereignis anzuhängen, wenn alle Skripte ausgeführt und ausgeführt werden. Es gibt keinen Haken für Ihren speziellen Fall in Javascript, weil Skripte sehr unterschiedliche Logik haben können, wie asynchron geladen werden, Timeouts, etc. haben. Aber es gibt ein Ereignis, das ausgelöst wird, wenn alle Skripte in den Browser geladen werden (aber immer noch werden nicht ausgeführt):

%Vor%

wird ausgeführt, nachdem die gesamte Seite einschließlich der Skripte und Grafiken geladen wurde. Dies bedeutet jedoch nicht, dass die Skripte tatsächlich ausgeführt werden. Aber wenn Ihre Skripts nur die Logik enthalten, die sofortige Aktionen wie

erfordert %Vor%

dann werden diese vor $(window).load()

ausgeführt     
spliter 05.08.2011, 09:32
quelle
0

Ja, $ (document) .ready wird ausgeführt, nachdem das DOM-Laden abgeschlossen ist

    
Tushar Ahirrao 05.08.2011 09:29
quelle
0
%Vor%

Diese Funktion wird ausgeführt, sobald alle Elemente einer Seite geladen sind. Einschließlich Bilder.

Ссылка

Oder das:

%Vor%

Dies fügt am Ende der Seite ein externes Skript (on-the-fly) ein. Es wird das Letzte sein, was geladen wird.

    
gunwin 05.08.2011 09:47
quelle
0

Die Skripte $(document).ready werden in der richtigen Reihenfolge ausgeführt. Sie können einfach einen $(document).ready -Handler am Ende der Seite hinzufügen.

BEARBEITEN

Beachten Sie, dass davon ausgegangen wird, dass Sie async script loading

nicht verwenden

BEARBEITEN

Wenn Sie die Funktion in eine Skriptdatei einfügen müssen und die Skriptdatei nicht irgendwie als letzte geladen werden kann, könnten Sie versuchen, die ready-Funktion im laufenden Betrieb anzuhängen (ungeprüft):

%Vor%     
Tomas 05.08.2011 09:28
quelle

Tags und Links