• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Daten asynchron laden

Jiffm4n

Neues Mitglied
Hallo, kann mir jemand sagen wie ich Dateien a synchron laden kann. Ich habe eine Website und Google Pagespeed sagt mir, das es Dateien gibt die das Rendering blockieren. Jetzt hab ich schon sehr viel im Netz gefunden in english und ich werde daraus nicht schlau. Habt ihr ne einfache Lösung wie man das umsetzt.
Beste Grüße Daniel.
 
Werbung:
Hallo,

Das geht über einen XmlHttpRequest, der zwar auch in reinem JavaScript möglich ist, aber komfortabler ist es, wenn bspw. bereits die Library jQuery oder das Framework AngularJS im Einsatz ist?
 
Ne hab jetzt nichts weiter gemacht, ist immoment rein html und css die Seite.

Kannst du mir das einfach erklären, wie ich das umsetzen kann?
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Dann schau Dir mal den Link an, da ist das locker erklärt. Wenn Dir das nicht hilft, zeige ich Dir gern ein Beispiel.
Wenn Du bisher kein jQuery oder AngularJS o.ä. im Einsatz hast, macht das für diesen Zweck auch keinen Sinn.
;)
 
Vergiss mal jQuery und Angular und sag mir, was Du an dem Beispiel aus dem Link vom #2 nicht verstehst?
Sonst mache ich ein Beispiel, was Dir auch nicht weiter hilft.
 
Werbung:
Da sind 1000 schnipsel auf der Seite. Ich versteh nicht was ich wo einfügen muss. Um die css datei zu laden mach ich ja zb.<link rel usw. und dann den pfad. Wie ist da der a synchrone weg. Was muss ich schreiben wenn ich will das er css oder js nebenbei mit ladet also a synchron. Ich bin da hält ein ziemlicher Anfänger. Und versteh das nicht so gut.
 
Es geht um CSS-Dateien?! Dann sieht die Sache anders aus.
Eine direkte Asynchronität kenne ich da auch nicht, aber es gibt Ansätze, das Rendering zu unterbrechen, indem man für das media-Attribut einen fiktiven Wert angibt, der nach dem Laden des DOM bspw. auf "screen" gesetzt wird, um das Rendering dann wieder aufzunehmen.
Man sollte dann nur dafür sorgen, für Browser mit deaktiviertem JS die CSS-Dateien per <noscript> korrekt zu laden.

Selber verwendet habe ich das noch nie, aber es sollte in etwa so aussehen ( <head>-Bereich Deines Dokumentes ):
Code:
<link rel="stylesheet" href="style.css" media="foobar">
<noscript>
    <link rel="stylesheet" href="style.css" media="screen">
</noscript>
<script>
window.onload = function() {

    _links = document.querySelectorAll( 'link[rel="stylesheet"]' );
    _links.forEach( function(key, oLink) {
            oLink.setAttribute( 'media',  'screen' );
        });

}
</script>
Alles frei aus der Hüfte, also kann durchaus Fehler enthalten. Aber die Vorgehensweise sollte deutlich werden, denke ich...

Bevor man sowas allerdings in Bezug auf Performance hernehmen will, sollte man erstmal grundlegend optimieren, bspw. CSS und JS minimiert und/oder komprimiert ausliefern, Bilder komprimieren, etc. Das bringt alles bei weitem deutlich mehr, als so ein Vorhaben.
 
Werbung:
Das Problem hatte ich auch. Aber ich hab das anders gelöst:

Code:
<html>
bla bla bla
</html>
<link blablabla>

Und Google hat mir angezeigt das es gelöst ist.
 
Ausserhalb des DOM ist das Müll, egal ob Google meint das geht.
Du kannst das vor den schliessenden </body>-Tag setzen, aber nicht hinter das Dokument!
Bei allem Rumgetrickse sollte man schon weitesgehend konform bleiben...
 
Werbung:
Zurück
Oben