Différer l'analyse de JavaScript - Google Page Speed
Tous mes fichiers JavaScript sont déjà au fond mais Google Page Speed est de donner à cette suggestion pour améliorer la vitesse:
Différer de l'analyse de JavaScript
De 88,6 KiB de JavaScript est analysé au cours de chargement initial de la page. Reporter
l'analyse JavaScript pour réduire le blocage de l'affichage des pages.
http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
(76.8 Kio) http://websiteurl/js/plugins.js (11.7 Kio) http://websiteurl/
(109B de JavaScript en ligne)
C'est la mon code html (exemple)
<html>
<head>
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<head>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.5.1.min.js"%3E%3C/script%3E'))</script>
<script src="js/plugins.js"></script>
<script>$(document).ready(function() {
$("#various2").fancybox({
'width': 485,
'height': 691,
});
});</script>
</body>
</html>
Que dois-je faire pour augmenter les performances en utilisant reporter?
Est-ce uniquement pour Google chrome ou pour tous?
source d'informationauteur Jitendra Vyas
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la recherche pour les performances de page puis d'abord et avant tout, vous devez déplacer ces scripts en bas de votre page pour permettre à l'autre de l'actif à charger.
Également utiliser le dns prefetch dans la tête pour définir le domaine de base de google-code
Puisque c'est juste un petit morceau de code, vous pouvez simplement ajouter à votre plugins.js fichier en bas puis de reporter le fichier plugins.
C'est ce que je ferais de toute façon, tous mes sites sont optimisés pour 98 et 97 respectivement dans yslow et page speed.
Espère que cela aide.
-V
Je vois c'est une vieille question, mais depuis que je suis à la recherche pour une bonne réponse moi-même, je vais partager la méthode que j'utilise actuellement.
Autant que le Javascript en ligne est concerné, ce que j'ai à faire est de changer tous les
type
attributs detext/deferred-javascript
ou quelque chose de similaire, de sorte que le code dans la balise script n'est pas évaluée lors du chargement de la page. Puis-je joindre une fonction à la pageonload
de l'événement; la fonction trouve tous les scripts correspondant au type ci-dessus et évalue le code à l'intérieur à l'aide deeval()
. Je sais en généraleval()
est mal, mais il semble être utile ici.Pour les fichiers Javascript externes, - je faire quelque chose de très similaire. Au lieu d'ajouter les balises de script de la page, je de les enregistrer et de les ajouter un par un après chargement de la page est terminé.
Un problème que je vais avoir, c'est que si l'un des inline différés Javascript contient une erreur (par exemple, une erreur d'analyse), les scripts ne sont pas chargés (mais ça dépend peut-être de mon actuel de mise en œuvre).
C'est probablement une réponse d'ordre général/suggestion pour quand il rencontre un certain niveau de performance.
Bien que, il mentionne spécifiquement jQuery, un plugin, et 109 octets de JavaScript en ligne. Avez-vous le JavaScript en ligne? Êtes-vous également de placer votre JavaScript comprend au bas de la
<body>
?Exemple
Chargement de la Performance de l'article
EDIT:
Récemment été posté HTML...
Comme un test, la suppression de ces deux éléments pour voir si cela fait une différence:
en outre, le message d'avertissement mentions 109 octets en ligne JS, mais je ne vois rien de tel dans le code HTML que vous avez posté.Salut nous avons récemment créé une opensource nodejs cadre appelé "cadre élégant" que vous aider à la construction rapide d'applications web et nous avons réussi à obtenir 100% de google page speed à la fois de bureau et mobiles dans toutes les pages :
vous pouvez le vérifier sur:
https://developers.google.com/speed/pagespeed/insights/?url=getelegant.com
il y a beaucoup de choses que vous pouvez apprendre de lui en affichant le code source de la page aussi, si quelque chose vous ne pouvez pas comprendre s'il vous plaît commentaire donc je peux vous aider avec
jusqu'à présent, vous pouvez essayer cette méthode:
Ajouter dans
<script type="text/javascript" defer="defer">
tag que cela fonctionne pour moi.