2016-05-25 9 views
1

Ich hatte den Eindruck, das Ereignis load zeigte an, dass eine Seite geladen wurde - was bedeutet, dass alle HTTP-Anfragen für die Seite und ihre Abhängigkeiten abgeschlossen waren, aber ein kurzer Blick in meine Netzwerk-Registerkarte sagt mir, dass mir etwas fehlt. Auf der spezifischen Seite, an der ich arbeite, gibt es immer noch einige ausstehende HTTP-Anfragen, nachdem dieses Ereignis ausgelöst wurde, von denen viele für die Seite relevant sind und meiner Erwartung nach auf die ursprüngliche Anfrage ausgelöst werden sollten (abhängig?), Aber anscheinend aren t.Welche Art von HTTP-Anforderungen können ausstehen, nachdem das Load-Ereignis ausgelöst wurde?

Kann mir jemand helfen zu verstehen, was load eine Abhängigkeit auf der Seite betrachtet und warum ich so viel HTTP-Aktivität sehen kann, nachdem das load Ereignis ausgelöst hat?

+0

Vielleicht sendet es AJAX-Anfragen? – Barmar

+0

Welche Artikel sind noch ausstehend? – Barmar

+0

Es wird nur ausgelöst, wenn die Originalquelle geladen ist ... aber es wartet nicht oder weiß nichts über skriptbezogene Inhaltsanforderungen – charlietfl

Antwort

2

load Ereignis wartet nicht auf den Inhalt in Ihrem Javascript angefordert.

Es wartet nur auf den Inhalt in Ihrem HTML angefordert.

Das Ladeereignis wird am Ende des Dokumentladevorgangs ausgelöst. Zu diesem Zeitpunkt befinden sich alle Objekte im Dokument im DOM und alle Bilder, Skripts, Verknüpfungen und Unterrahmen sind fertig geladen.

MDN reference

Fazit: Wenn Sie Inhalte in Ihrem Skript anfordern, wie Bild, json Daten usw. load event wird nicht auf sie warten.

0

Wenn Sie über das Onload-Ereignis sprechen, tritt es auf, wenn ein Objekt geladen wurde.

onload wird am häufigsten innerhalb des Elements verwendet, um ein Skript auszuführen, wenn eine Web-Seite vollständig alle Inhalte (einschließlich Bildern, Script-Dateien, CSS-Dateien usw.) geladen ist.

Referenz: http://www.w3schools.com/jsref/event_onload.asp