2012-05-08 20 views
7

ich verstehen müssen, wenn nicht onload ein körperWann wird ein Körper onLoad aufgerufen?

aufgerufen wird, in w3school dass onload=Script to be run when a document load ich lese, was bedeutet das?

Bedeutet es, dass

  1. die html/jsp Seite im Körper alle Elemente vor dem Rendern wie jede table oder jsp scriplets zB geladen wird:
  2. <%= request.getParameter("NAME") %>
  3. Oder es ist, nachdem die Seite/Körper gemacht wird ?

zum Beispiel: Ich habe eine Reihe von params (<%= request.getParameter("NAME") %>,...) so, um sie zu benutzen ich sie in einem verborgenen Formularelement platzieren werden & dann auf die Körperlast kann ich sie verwenden?

+4

w3schools ist eine schlechte Ressource: http://w3fools.com. Während es in diesem Fall keine Rolle spielt, sollten Sie einen Verweis wie mozilla's [MDN] (https://developer.mozilla.org/) verwenden. – ThiefMaster

+0

@ThiefMaster: Meine Arbeit betrifft hauptsächlich Internet Explorer 8, ist es immer noch in Ordnung verweisen Sie auf [MDN] (https://developer.mozilla.org/)? – Ricky

+1

Normalerweise erwähnt es, wenn andere Browser wichtige Unterschiede haben. Aber in diesem Fall würde ich MSDN überprüfen, da dies die offizielle Ressource für IE ist. – ThiefMaster

Antwort

11

Im Gegensatz zu w3schools, MDN explains when the event is fired:

Die Last-Ereignis ausgelöst wird am Ende des Dokuments Ladevorgang. Zu diesem Zeitpunkt befinden sich alle Objekte im Dokument im DOM und alle Bilder und Unterrahmen sind fertig geladen.

So der DOM-Baum ist bereit und alle Elemente wurden geladen.

+0

Zu @Sjoerd & ThiefMaster: Sjoerd sagt, 'Document.onload kann ausgelöst werden, bevor die Seite gerendert oder Bilder geladen werden.' Und Sie sagen 'alle Objekte im Dokument sind im DOM und alle Bilder und Sub- Die Rahmen sind fertig geladen. Welche ist richtig? – Ricky

+0

@Ricky - Die Antwort, die die Ressource zitiert, mit der sie verknüpft ist, ist die richtige. :) – Quentin

+0

Was ist mit Objekten, die nach dem Laden der Seite hinzugefügt werden?Nehmen wir zum Beispiel an, dass im Kopf-Tag ein Skript vorhanden ist, das ein neues Skript-Tag mit einer externen URL (die es berechnet) erstellt und es dem Kopf hinzufügt. Kann ich garantieren, dass das Skript immer geladen wird, bevor Onload ausgelöst wird, so wie ich es bin, wenn das Skript fest codiert ist? – Michael

-1

Die onload event wird ausgelöst, wenn der DOM-Baum bereit ist. Dies bedeutet, dass alle Elemente auf Ihrer Seite für das Skript verfügbar sind. Document.onload wird möglicherweise ausgelöst, bevor die Seite wiedergegeben oder Bilder geladen werden.

+0

Das Ereignis window.onload (dasjenige, mit dem Sie verbunden sind) wird ausgelöst, nachdem die Bilderframes usw. geladen wurden. –

0

Onload wird ausgeführt, wenn DOM vollständig geladen ist. Dies bedeutet, dass es nach dem Ende Ihrer Seite ausgeführt wird. Dies ist nützlich, wenn Sie eine Aufgabe ausführen möchten, wenn das Dokument vollständig geladen ist.

Sie dies in vielerlei Hinsicht tun können, aber nur wenige Möglichkeiten, um hier

<body onload="YOUR ACTION"> 

ähnlich ist

<script type="text/javascript> 
window.onload=function(){ 
    //YOUR ACTION 
} 
</script> 
+1

Es wird nicht ausgelöst, sobald das DOM geladen ist. Es wartet auf eine Anzahl anderer Dinge (z. B. zu ladende Bilder). – Quentin

2

Das onLoad Ereignis nach dem erfolgreichen Abschluss des dom Baum gebrannt wird, z.B. das erfolgreiche Laden aller Elemente im Körper.

Verwandte Themen