3 Stimmen

Wird php VOR dem 'html body' geladen?

Schwierig, diese Frage zu erklären, aber ich übergebe derzeit Variablen in einer PHP-Seite an einige versteckte HTML-Eingaben.

Im holt diese Werte aus den versteckten Eingaben mit einer Javascript-Funktion. Diese Funktion wird wie folgt aufgerufen:

 <body onload="function();">

Es funktioniert auf meinem System jetzt, aber gibt es eine Chance, dass der Wert von php übergeben möglicherweise nicht durch, weil Körper die Funktion aufgerufen hat, BEVOR der PHP-Code den Input-Typ ausgeblendet setzt?

Danke

19voto

Pekka Punkte 429407

Sie haben haben vielleicht verwechselt, welcher Teil was macht.

  • PHP generiert die HTML-Seite auf der Serverseite . Wenn die HTML-Seite im Browser ankommt, hat PHP seine Arbeit getan. Es gibt keine Möglichkeit für PHP, etwas zu tun, nachdem es das HTML gerendert hat.

  • Javascript wird ausgeführt im Browser des Benutzers nach die Seite wurde erstellt und geladen. (Oder währenddessen; wie theraccoonbear anmerkt, kann Javasript im Browser laufen, bevor die Seite vollständig geladen ist).

  • Ein Javascript-Befehl kann nicht mit dem PHP-Skript kommunizieren, das die Seite rendert, denn wenn Javascript ins Spiel kommt, ist PHP schon weg.

Die Antwort auf Ihre Frage lautet also: Nein, die JS-Funktion kann nicht ausgeführt werden, bevor PHP fertig ist. Wie mehrere Kommentatoren anmerken, ist das nicht ganz richtig. A Javascript könnte in Aktion treten vor die eingegebenen HTML-Elemente gerendert wurden. In Ihrem Beispiel wird das Javascript jedoch erst ausgelöst, wenn das Dokument vollständig geladen ist. In dieser Konstellation lautet die Antwort: Nein, das kann nicht passieren.

2voto

benlumley Punkte 11241

Das sollte kein Problem sein, da Sie die onload-Eigenschaft des Körpers verwenden, die sicherstellt, dass das Dom und alle Bilder usw. geladen wurden.

Mit jQuery, um es wie unten wäre meiner Meinung nach besser, feuert, sobald die dom bereit ist, anstatt zu warten, für alle Bilder usw.

$(document).ready(function() {
    // do stuff here
});

Dies lässt sich bei Bedarf auch leicht von einer externen JS-Datei aus erledigen, was Ihnen hilft, Ihren Code logisch zu trennen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X