Nous utilisons une version modifiée de Jiffy pour mesurer les performances réelles côté client.Mesure lorsque seulement certains éléments de la page ont été chargés
La chose la plus importante que nous faisons est de mesurer le temps entre le moment où la demande a été reçue et le moment où l'événement de chargement de la page se déclenche dans le navigateur.
Sur certaines pages, nous avons iframe
éléments qui pointent vers des sites externes que nous ne contrôlons pas - ils prennent parfois beaucoup de temps à charger. À l'heure actuelle, l'événement de chargement de page pour notre page se déclenche uniquement après le iframe
est complètement chargé (et ses propres incendies d'événement de charge).
Je voudrais séparer ces mesures - ont une mesure après tout, y compris le iframe
est chargé, mais aussi une mesure sans iframe
- qui est, lorsque la charge de la page aurait eu lieu si nous ne disposions pas d'un iframe
.
La seule façon que j'ai réussi à faire jusqu'à présent est d'ajouter le iframe
au DOM après l'événement de chargement de la page, mais cela retarde le chargement de l'iframe.
Des idées? Merci!
EDIT: la générosité est finie, merci pour l'aide et les idées! J'ai choisi la réponse de Jed parce qu'elle m'a donné une nouvelle idée - commencer à charger les iframes, mais les "mettre en pause" afin qu'elles n'affectent pas le chargement de la page (en réglant temporairement src="about:blank"
). Je vais essayer d'ajouter un résumé plus détaillé de mes résultats.
Merci Jed, plutôt cool! Je n'ai aucun problème à ajouter les iframes dynamiquement. Je ne veux pas retarder le chargement du contenu de l'iframe, et régler le src uniquement sur l'événement "load" du corps pourrait provoquer cela. D'un autre côté, le paramétrer à l'avance puis le réinitialiser avant la fin de la balise body pourrait en fait inciter le navigateur à télécharger les composants des frames, s'arrêter juste pour le timing du parent, puis continuer. Pourrait être une bonne idée, je vais devoir tester pour voir si cela fonctionne. – orip
Pas de problème orip. Vous pouvez voir les résultats fonctionnant ici: http://s3.amazonaws.com/frameTimer/index.html –
Si vous recherchez des temps de chargement sur le premier hit pour les URL iframe, vous devez désactiver le cache du navigateur pour les mesures . Sinon, lorsque vous remplacez les URL iframe par "about: blank" dans 'frameTimer.init()', certaines URL iframe peuvent déjà être mises en cache et les temps de chargement peuvent diminuer en raison d'URL en cache. –