Ereignis, um festzustellen, wann innerHTML geladen wurde

8

Ist es möglich zu bestimmen, wann ein innerHTML geladen wurde? Ich bin mir nicht sicher, ob es eine synchrone Operation ist. Ich gehe davon aus, dass das "Erstellen des DOM" synchron ist, aber das Laden von Tags, Inhalten usw. ist nicht möglich.

Kurz gesagt - gibt es eine Möglichkeit, ein Ereignis zu erhalten, wenn innerHTML geladen wurde?

Danke!

    
Steve 09.08.2011, 18:53
quelle

6 Antworten

1
%Vor%

Benutze es so:

%Vor%     
shawndumas 09.08.2011, 19:29
quelle
14

Sie müssen DOM Mutation verwenden Beobachter , die derzeit nur in Chrome und Firefox funktionieren. Sie ersetzen die leistungsverzerrenden DOM-Mutationsereignisse.

Beispielcode aus HTML5Rocks:

%Vor%

Hier ist die DOM4-Spezifikation . Bitte verwenden Sie nicht die setTimeout() Hacks. :)

    
zahanm 13.08.2012 22:52
quelle
1

Da img-Elemente, die über innerHTML hinzugefügt werden, ihr onload-Ereignis auslösen, können Sie ein kleines Bild am Ende Ihres ursprünglichen in innerHTML eingefügten Codes hinzufügen, und in ihrem onload-Ereignis könnten Sie eine Funktion aufrufen. Sie können das Bild auch dort löschen.

%Vor%

JSFiddle-Beispiel

src = 'data: image' Code ist hier nützlich, da kein bestimmtes Bild benötigt wird.

Ich fand diese Lösung in einer anderen Antwort, ich kann es einfach nicht finden. Ich werde diese Lösung bearbeiten, sobald ich die Referenz gefunden habe.

    
Melo Waste 29.09.2016 00:57
quelle
-1

Wie wäre es, wenn Sie ein Container-Div erstellen und einen Onload-Event-Handler hinzufügen?

%Vor%     
Kai Mysliwiec 12.05.2013 14:23
quelle
-1

Haben Sie versucht, das Ereignis window.onload zu verwenden? Dieses Ereignis wird ausgelöst, wenn die gesamte Seite vollständig geladen ist und alle Inhalte wie Bilder, Skripts, innere Rahmen usw. enthalten sind.

P.S. Wenn Sie die JQuery-Bibliothek verwenden, können Sie ihren $(window).load -Ereigniswrapper verwenden.

    
Igor Kustov 12.02.2015 06:53
quelle
-2

Ja, Sie können so etwas tun:

%Vor%

Das JavaScript wird sequentiell ausgeführt und daher wird der Alarm ausgelöst, sobald Ihr innerHTML geladen wurde.

Sehen Sie sich auch das JavaScript-Ausführungsmodell

    
THE DOCTOR 09.08.2011 19:16
quelle

Tags und Links