8 votes

Quels sont les événements les plus anciens et les plus récents que jquery peut prendre en compte ?

J'ai écrit un petit plugin qui récupère le temps de chargement/rendu de la page. Il collecte l'heure de fin à $(document).ready et j'ai placé le bout de code qui collecte l'heure de début juste après le bouton <title> étiquette.

J'aimerais que cela soit moins gênant, il semble donc qu'il devrait y avoir un événement antérieur à .ready où je pourrais collecter l'heure de démarrage de la page la plus précoce mesurable.

Voici le javascript actuellement gênant

<title></title>
<script type="text/javascript">
    var startTime = (new Date()).getTime();
</script>

Voici le plugin :

(function ($) {

    $(document).ready(function () {
        var endTime = (new Date()).getTime();
        var millisecondsLoading = endTime - startTime;

        $.get('hicmah.ashx?duration=' + millisecondsLoading, function (data) {
        });
    });

})(jQuery);

2voto

zzzzBov Points 62084

Vous pouvez utiliser onreadystatechange , DOMContentLoaded et onload et c'est ce à quoi jQuery s'accroche avec la fonction ready la cale d'épaisseur de l'événement.

if (document.addEventListener) {
  document.addEventListener('DOMContentLoaded', callback, false);
  window.addEventListener('load', callback, false);
} else {
  document.attachEvent('onreadystatechange', callback);
  window.attachEvent('onload', callback);
}

Vous pouvez également vous assurer que votre page comporte une balise script en haut et en bas de la page :

<html>
  <head>
    <script type="text/javascript">
      window.begin = new Date();
    </script>
    ...
  </head>
  <body>
    ...
    <script type="text/javascript">
      window.end = new Date();
    </script>
  </body>
</html>

1voto

ShankarSangoli Points 45345

Il n'est pas possible de confier cette tâche au plugin, car celui-ci peut être utilisé n'importe où sur la page. La meilleure façon d'y parvenir est de placer l'heure juste au début de la balise html et juste après la fin de la balise html, ce qui vous donnera la meilleure heure.

0voto

Diodeus Points 67946

Cette réponse vous aidera :

Séquence de chargement et d'exécution d'une page web ?

> roughly the execution flow is about as follows:
> 
> The HTML document gets downloaded The parsing of the HTML document
> starts HTML Parsing reaches <script src="jquery.js" ... jquery.js is
> downloaded and parsed HTML parsing reaches <script src="abc.js" ...
> abc.js is downloaded, parsed and run HTML parsing reaches <link
> href="abc.css" ... abc.css is downloaded and parsed HTML parsing
> reaches <style>...</style> Internal CSS rules are parsed and defined
> HTML parsing reaches <script>...</script> Internal Javascript is
> parsed and run HTML Parsing reaches <img src="abc.jpg" ... abc.jpg is
> downloaded and displayed HTML Parsing reaches <script src="kkk.js" ...
> kkk.js is downloaded, parsed and run Parsing of HTML document ends

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X