2010-12-01 5 views
2

Ich habe den dokumentierten Fehler, dass Webkit-Browser die Seite beim ersten Laden fälschlicherweise rendern, da das JavaScript ausgeführt wird, bevor das CSS den Download beendet hat (weil sie parallel heruntergeladen wurden).Kann ich die CSS/JS-Downloadfunktion für Chrome/Webkit deaktivieren?

Während eine schnelle Aktualisierung das Aussehen der Seite behebt, ist diese Lösung für mein Problem nicht geeignet (ich führe Befehlszeilenprogramme aus, die Screenshots unserer Seiten erstellen, aber diese Dienstprogramme haben keine Option zum "Aktualisieren" (Seite vor dem Screenshot)

Hat jemand irgendwelche Vorschläge oder Lösungen zu gewährleisten, dass die Css-Include in seiner Gesamtheit geladen ist, bevor die JavaScript-Include und Inline-Javascript ausgeführt werden?

Danke! -Dan

BEARBEITEN - Keine Bibliothek verwenden. Nur gut 'ol Javascript.

Antwort

1

Wenn Sie eine Bibliothek verwenden, denke ich, dass die meisten davon Ihnen erlauben, dies zu tun. Es ist einfach mit jQuery, wenn Sie nicht ein <script defer="(x number of second)">Function()</script> am Ende der Seite verwenden können. Sie können auch erwägen, die Javascripts möglichst nach unten auf die Seite zu verschieben. js Best Practices.

0

+1 für Ihre Skripte am unteren Rand der Seite setzen, könnten auch versuchen, das Skript im window.onload Ereignis setzen:

<script > 
function myCode(){ 
// do something 
alert('test'); 
} 
window.onload = myCode; 
</script> 

ich nicht 100% sicher bin, ob das Ereignis Onload wird warten Sie, bis die .css-Datei geladen ist. aber es ist einfach zu versuchen.