Gibt es eine Möglichkeit in JavaScript, ob eine Ressource bereits im Browser-Cache ist?
Wir instrumentieren einen Bruchteil unserer clientseitigen Seitenaufrufe, damit wir bessere Daten darüber erhalten, wie schnell Seiten für unsere Nutzer geladen werden. Wenn Benutzer das erste Mal auf unserer Website ankommen, werden eine Reihe von Ressourcen (JS, CSS, Bilder) vom Browser zwischengespeichert, so dass ihr erster Seitenaufruf langsamer als der nachfolgende ist.
Im Moment sind diese Daten gemischt, so dass es schwierig ist, eine anfängliche Seitenladung von einem nachfolgenden Seitenaufruf zu unterscheiden, der aus einem anderen Grund langsam ist. Ich würde gerne über einen browserübergreifenden Weg prüfen, ob der Cache bereits vorbereitet ist, sodass ich die beiden Arten von Seitenaufrufen trennen und separat analysieren kann.
Es gibt keine JavaScript-API zum Überprüfen, ob eine Ressource zwischengespeichert ist. Ich denke, das Beste, was Sie tun können, ist zu überprüfen, wie lange es dauerte, um die Ressourcen zu laden, und diejenigen mit kürzeren Ladezeiten zu kombinieren.
Oben auf der Seite:
%Vor%Für jede Ressource:
%Vor%Wenn Ladezeiten gemeldet werden:
%Vor%Möglicherweise müssen Sie onreadystatechange-Ereignisse anstelle von onload in IE verwenden.
Sie benötigen dazu ein Plug-in. Firebug kann Ihnen auf der Registerkarte "NET" sagen, sobald Sie es installieren (für Firefox). JavaScript selbst kann den HTTP-Verkehr des Browsers nicht sehen.
Tags und Links javascript caching browser