Heim > Web-Frontend > CSS-Tutorial > Garantiert „$(document).ready()' tatsächlich, dass CSS vollständig geladen und angewendet wird?

Garantiert „$(document).ready()' tatsächlich, dass CSS vollständig geladen und angewendet wird?

Susan Sarandon
Freigeben: 2024-11-24 05:26:14
Original
828 Leute haben es durchsucht

Does `$(document).ready()` Actually Guarantee CSS is Fully Loaded and Applied?

Garantiert $(document).ready() CSS-Ready?

Problem:

Ein Skript, das mit $ ausgeführt wird (document).ready() verursacht Probleme mit der vertikalen Ausrichtung von Blockelementen. Es kommt auf mysteriöse Weise zu Verzögerungen oder zu einer Fehlausrichtung der Elemente.

Frage:

Ist es möglich, dass bei der Ausführung eines Skripts im DOM-ready-Modus nicht alle korrekten CSS-Werte eingefügt werden? Die DOM?

Antwort:

Laut den Versionshinweisen zu jQuery 1.3:

„Die Methode ready() versucht nicht mehr, Garantien dafür zu geben Warten auf das Laden aller Stylesheets. Stattdessen sollten alle CSS-Dateien vor den Skripten auf der Seite eingebunden werden dass es wichtig ist, alle CSS-Dateien in den einzubinden. Abschnitt mit Elemente vor dem Laden von Skripten. Andernfalls kann es zu unvorhersehbarem Verhalten kommen, insbesondere in WebKit-basierten Browsern wie Safari.

Unerwartet kann es sein, dass das Problem durch die Platzierung des CSS über den Skripten nicht vollständig gelöst wird. CSS wird asynchron heruntergeladen, sodass der JS-Ladevorgang gestartet und abgeschlossen werden kann, selbst während CSS heruntergeladen wird.

Experimente mit dem cuzillion.com-Skript von Steve Souders zeigen, dass die JS-Ausführung manchmal verzögert wird, bis CSS geladen wird, obwohl Wasserfallbeweise JS belegen Fertigstellung vor Abschluss des CSS-Downloads.

Weitere Tests deuten jedoch darauf hin, dass die Regel, JS anzuhalten, bis früher definiertes CSS angehalten wird, nicht universell ist. Es scheint eine Interaktion zwischen externen JS- und CSS-Ladesequenzen zu geben.

Zusammenfassend lässt sich sagen, dass es am besten ist, alle CSS-Dateien vor allen Skripten auf der Seite einzuschließen, um Inkonsistenzen zu vermeiden und einen zuverlässigen Betrieb Ihres Skripts sicherzustellen, wie empfohlen in der jQuery-Dokumentation.

Das obige ist der detaillierte Inhalt vonGarantiert „$(document).ready()' tatsächlich, dass CSS vollständig geladen und angewendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage