Externaliser GG asynchrone

Discussion dans 'Google Analytics' créé par gotcha5832, 6 Mars 2010.

  1. gotcha5832

    gotcha5832 WRInaute discret

    Inscrit:
    22 Novembre 2008
    Messages:
    110
    J'aime reçus:
    0
    Bonjour à tous,

    Petite question rapide est il possible d'externaliser le code asynchrone en créant un fichier google.js contenant:
    Code:
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-XXXXXX-X']);
      _gaq.push(['_trackPageview']);
    
      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
      })(); 
    
    puis d'appeler le fichier
    Code:
    <script type="text/javascript" src="js/google.js"></script>
    Est ce correct?

    Merci à tous.
     
  2. mipc

    mipc WRInaute accro

    Inscrit:
    11 Février 2009
    Messages:
    3 572
    J'aime reçus:
    0
    oui et tu peux même en profiter pour stocker ga.js sur ton FTP comme le miens: http://195.20.239.29/ga.js

    edit: je confirme d'après firebug ça à l'aire de fonctionner.
     
  3. jcaron

    jcaron WRInaute accro

    Inscrit:
    13 Février 2004
    Messages:
    2 821
    J'aime reçus:
    0
    Techniquement c'est possible, mais tu perds tout l'intérêt du côté asynchrone de la chose, et tu fais un chargement de fichier de plus.

    Bref, quel est l'intérêt? Si c'est pour éviter la duplication du code, utilises des includes php (ou équivalents).

    Jacques.
     
  4. mipc

    mipc WRInaute accro

    Inscrit:
    11 Février 2009
    Messages:
    3 572
    J'aime reçus:
    0
    viens de tester et ça revient quasiment au même, voire même légèrement plus rapide, tout dépend des performance du moteur JSCRIPT du navigateur!!!!
     
  5. gotcha5832

    gotcha5832 WRInaute discret

    Inscrit:
    22 Novembre 2008
    Messages:
    110
    J'aime reçus:
    0
    L'objectif est d'externaliser le javascript comme il est toujours recommander pour optimiser le référencement, alléger et épurer le code, ainsi qu'améliorer les performance du site.

    Il est sure que si niveau perf, ca ne change quasi rien, et que l'on perds le coté asynchrone, ca change un peut tout.
     
  6. jcaron

    jcaron WRInaute accro

    Inscrit:
    13 Février 2004
    Messages:
    2 821
    J'aime reçus:
    0
    Pour les performances, la tendance actuelle (justifiée) est plutôt à la limitation du nombre de fichiers à charger: un seul fichier JS plutôt que plusieurs, un seul CSS plutôt que plusieurs, utilisation de "sprites" pour les images (boutons, éléments de style...), etc.

    Là, tu rajoutes un JS de plus à charger, ça ajoute forcément en latence.

    Et surtout, le tag script va forcément être exécuté de façon synchrone (comme l'ancien tag GA), donc bloquer l'affichage du reste de la page jusqu'à ce qu'il soit chargé. Comme il est sur le même serveur ça va relativement vite en général, mais ça prend forcément plus de temps.

    Bref, à mon humble avis, ça n'a aucun intérêt.

    Jacques.
     
  7. gotcha5832

    gotcha5832 WRInaute discret

    Inscrit:
    22 Novembre 2008
    Messages:
    110
    J'aime reçus:
    0
    Ok je te remercie?

    Je comptais l'intégrer à mon actuellement fichier JS.

    Bonne journée
     
  8. mipc

    mipc WRInaute accro

    Inscrit:
    11 Février 2009
    Messages:
    3 572
    J'aime reçus:
    0
    perso j'ai fusionner mon script ça donne http://195.20.239.29/t.js et coté vitesse de chargement c'est du pareil au même.

    question que permet le chargement asynchrone, de charger indépendamment le script java, hors charger un fichier Jscript externe qui regroupe deux fichier Jscript c'est aussi un chargement optimiser.

    perso se que je cherche à faire c'est de fusionner:

    http://195.20.239.29/ga.js et http://195.20.239.29/t.js

    de cet manière je n'aurai plus qu'un seul fichier Jscript et du coup se sera optimiser!!!!
     
  9. jcaron

    jcaron WRInaute accro

    Inscrit:
    13 Février 2004
    Messages:
    2 821
    J'aime reçus:
    0
    @gotcha5832: dans ce cas effectivement, ça ne change rien, qu'il soit dans le html directement ou dans un JS que tu charges de toutes façons c'est kif-kif.

    Jacques.
     
  10. JulienCoquet

    JulienCoquet WRInaute impliqué

    Inscrit:
    19 Juin 2007
    Messages:
    864
    J'aime reçus:
    0
    L'externalisation en include à outrance n'est pas la solution mais vous venez d'en discuter largement ;-)
    De mon côté, je n'observe pas de gain réel de performance
     
  11. mipc

    mipc WRInaute accro

    Inscrit:
    11 Février 2009
    Messages:
    3 572
    J'aime reçus:
    0
    ben moi aussi j'avais noté des gains, spour ça que je l'ai laisser, en fait c'est un chouya mieux qu'en asynchrone on dirait, pis je ne fais que suivre bêtement les conseil de pagespeed.


    maintenant se que j'en ai compris des problèmes de performances que j'avais s'était d'un part l'activation du PHP à fait perdre quelque millième de seconde, et surtout un script PHP à la con pour voire le passage de robots, mais depuis que les robots passe moins et plus raisonnable, ça va mieux donc j'ai viré le script PHP et du coup la vitesse de chargement est meilleurs et plus notable sur google chrome, même chez les clients qui parfois n'ont qu'un mégabit voire même moins parfois.