Tag: javascript’

Delicious du février 9th au mars 5th

 - by admin

Mes derniers signets du février 9th au mars 5th:

Tracker Google Analytics optimisé

 - by admin

google-analytics-logoDe nombreux sites web utilisent Google Analytics pour analyser les données de trafic. Google recommande de place ce code juste avant la fermeture du tag </body> et de s’assurer « que le code de suivis est bien le dernier élément du DOM exécuté ». Sinon le script pourrait bloquer le chargement des autres éléments.

Pour améliorer les performances du script, Google a décidé de le charger de façon asynchrone. « Contrairement à une installation traditionnelle, le suivis asynchrone optimise la manière dont les navigateurs charge le script ga.js de sorte que son impact sur l’utilisateur est réduite au minimum. » Il vous permet aussi de mettre votre code de suivis plus haut dans la page sans pour autant retarder le chargement des autres éléments.

Voici le nouveau code:

[javascript]
<script type="text/javascript">
_gaq var = _gaq | | [];
_gaq.push ([ '_setAccount', 'UA-XXXXX-X']);
_gaq.push ([ '_trackPageview']);

(function () (
var ga = document.createElement ( ‘script’);
= ga.src ( "https:" == document.location.protocol?
‘https: http://www / / ssl’:  ») + ‘.google-analytics.com/ga.js’;
ga.setAttribute ( ‘async’, ‘true’);
document.documentElement.firstChild.appendChild (GA);
})();
</ script>
[/javascript]D’après le blog de Google Analytics:

  • Temps de chargement plus rapide
  • Collecte de données améliorés et plus précise
  • Élimination des erreurs liées à l’attente de la fin du chargement du script

[ source ]

Nouveau design de Google en test

 - by admin

De nouvelles interfaces sont en cours de tests sur Google.

Après les tests sur la page d’accueil, qui ont conduit à sélectionner un design encore plus épuré, sans boutons ni liens, Google teste maintenant de nouvelles pages de résultats (SERP). Au menu, une barre latérale (que l’on connaissait déjà) agrémentée de nouvelles icônes colorées pour différentier visuellement les catégories disponibles ainsi qu’un nouveau logo.

google_new_design

Cliquez pour agrandir

Il est possible de tester cette nouvelle interface grâce à un cookie que vous aller créer sur votre navigateur. Pour cela, rien de plus simple !

  1. Ouvrez votre navigateur préféré.
  2. Entrez Google.com et assurez vous d’être sur l’interface anglaise.
  3. Copiez puis collez le code javascript ci dessous dans votre barre d’adresse et validez.
    [javascript]javascript:void(document.cookie="PREF=ID=20b6e4c2f44943bb:U=4bf292d46faad806:TM=1249677602:LM=1257919388:S=odm0Ys-53ZueXfZG;path=/; domain=.google.com");[/javascript]

  4. Rechargez Google.com (et rebasculez éventuellement sur l’interface anglaise)

    Google Chrome passe la 2ème

     - by admin

    logo_chromeGoogle a publié jeudi 21 mai la seconde version de son navigateur Chrome. La rapidité de navigation est améliorée, jusqu’à 30 %, selon le blog officiel de Google Chrome , qui annonce par ailleurs plus de trois cents corrections de bugs depuis le lancement de la première version, en septembre 2008. La principale amélioration réside dans l’accélération du moteur Javascript. En langage profane, cela signifie que les sites complexes sont affichés plus rapidement, notamment les services de Google qui utilisent le Javascript à outrance : Gmail, Google Docs, etc.

    Si vous aviez déjà installé une version antérieur de Chrome, celle-ci aurait du se mettre à jour automatiquement ;)

    Télécharger Google Chrome (Windows Vista/XP SP2)

    A propos d’une version pour Mac qui n’a toujours pas vu le jour, je vous invisite à faire un tour sur cet article de MacGeneration:  Visite de Google Chromium pour Mac OS X

    Continue reading “Google Chrome passe la 2ème” »

    Weekly Bookmarks #2 (Diigo)

     - by admin

    Posted from Diigo. The rest of my favorite links are here.

    Weekly Bookmarks #1 (Diigo)

     - by admin

    Posted from Diigo. The rest of my favorite links are here.

    La propagation des événements javascript avec jQuery.live()

     - by admin

    Clément de Dator.fr vient de publier un screencast pour présenter la nouvelle fonction live() introduite dans jQuery 1.3 que je vous invite à découvrir:

    jQuery Live from Clément on Vimeo.
    Version HD (conseillé)

    Cette méthode live() ne marche qu’avec les événements suivant :

    • click
    • dblclick
    • mousedown
    • mouseup
    • mousemove
    • mouseover
    • mouseout
    • keydown
    • keypress
    • keyup

    et ne marche pas avec :

    • blur
    • focus
    • mouseenter
    • mouseleave
    • submit
    • change

    jQuery 1.3

     - by admin

    Longtemps accro au Framework Prototype, j’ai gentillement migré vers jQuery que je trouve d’une part plus simple de prise en main, plus rapide et surtout qu’il dispose d’une communauté très active et propose beaucoup de plug-ins divers et variés.

    Récemment passé en version 1.3, voici une traduction de l’annonce officielle:
    Les grandes fonctionnalités de cette version sont :

    • sizzle : un moteur de sélection basé sur les CSS, tout chaud sorti du four ;
    • live event (évènements en direct) : de la délégation d’évènements (event delegation) avec un zeste de jQuery ;
    • révision des évènements jQuery : la gestion des évènements a été complètement révisée pour la simplifier ;
    • réécriture de l’injection HTML : le HTML est ajouté à la vitesse de l’éclair ;
    • réécriture de offset : calcul de la position super-rapide ;
    • abandon de la détection de navigateur (browser sniffing) : nous utilisons la détection de fonctionnalités pour aider jQuery à durer encore de nombreuses années.

    Tous les détails de cette version peuvent être trouvés dans les notes de version.

    Sizzle

    jQuery a un tout nouveau moteur de sélection basé sur les CSS, surnommé Sizzle. Vous pouvez lire tous les détails à son sujet dans les notes de version de jQuery 1.3 (qui comprennent les mesures de performance).

    Plus important pourtant, nous faisons un grand saut en avant avec Sizzle : nous le publions comme un projet complètement indépendant destiné à être développé en collaboration par beaucoup de créateurs et de développeurs de bibliothèques. Nous avons vu là une opportunité de rendre quelque chose en retour pas seulement à la communauté jQuery mais à toute la communauté de développement Javascript ; et dans le même temps d’être capable de collaborer avec les développeurs d’autres bibliothèques sur un unique moteur de sélection unifié. Nous pensons qu’il y a trop de compétition et pas assez de coopération, et nous voyons donc notre code comme un premier pas vers un travail en collaboration.

    En signe de bonne foi et de bonne volonté de coopérer, nous avons confié le projet Sizzle à la fondation Dojo (une très bonne organisation à but non lucratif taillée pour ce projet, à ne pas confondre avec le Dojo toolkit). Nous avons voulu un terrain de rencontre commun où tous les développeurs seraient capable de travailler ensemble et pour lequel il y a aurait un détenteur des droits d’auteurs clairement identifié sur le long terme.

    Notre proposition de collaboration a déjà reçu d’incroyable réactions : les développeurs de Prototype, Dojo, Yahoo UI et TinyMCE (et de beaucoup d’autres projets) ont tous montré de l’intérêt à améliorer Sizzle jusqu’à la perfection.

    Une page d’accueil sommaire du projet Sizzle peut-être trouvée sur http://sizzlejs.com/, ainsi que le code source.

    Un nouvel explorateur pour l’API

    Avec la version de jQuery 1.3, je suis heureux de présenter le nouvel explorateur de l’API, développé par Remy Sharp, et disponible sur http://api.jquery.com/.

    jQuery API

    C’est une alternative à l’API jQuery existante qui devrait être facile à parcourir et utiliser.

    Le nouvel explorateur de l’API inclus les fonctionnalités suivantes :

    • toutes les dernières documentation sur jQuery et jQuery UI ;
    • la possibilité de marquer des pages comme préférées pour celles sur lesquelles vous revenez souvent ;
    • mise en valeur syntaxique dans les exemples de code ;
    • des exemples qui se lancent en direct dans le navigateur ;
    • des liens pour éditer les exemples de code et expérimenter.

    Plus important cependant, le navigateur d’API est aussi disponible hors-ligne en tant qu’application Adobe AIR. L’interface et le fonctionnement sont les mêmes, et il est inclus un système de mise à jour automatique, ce qui fait que vous serez toujours à jour.

    Télécharger et installer l’explorateur d’API AIR

    Fondation jQuery

    Alors que le projet jQuery croissait à une vitesse époustouflante, il était important pour nous, en tant qu’équipe, de prendre du recul et de déterminer comment la propriété du projet devait être gérée. Actuellement, John Resig, fondateur de jQuery et principal développeur, et Paul Bakaus, développeur principal de jQuery UI, ont tous deux les droits d’auteurs sur leurs projets respectifs. Cela pose plusieurs inquiétudes tant d’un point de vue pratique que juridique puisque cela fait que deux individus sont les propriétaires des projets plutôt qu’une organisation formelle. Et alors que de plus en plus de personnes et d’entreprises commencent à contribuer au projet, ces inquiétudes sont devenues de plus en plus prégnantes, créant de la confusion quand à qui était l’ayant droit réel de pans de travail spécifiques.

    Après nous être rencontrés lors de la récente conférence jQuery, nous avons décidé de faire un effort concerté pour régler ce problème et déterminer comment nous pourrions transférer la propriété des projets jQuery à une organisation de type fondation qui :

    1. comprendrait la nature du développement de logiciel libre ;
    2. nous permettrait de continuer de diriger les projets sans entraves ;
    3. nous assurerait que les projets continuent de vivre quelque soit les personnes impliquées.

    Après avoir examiné beaucoup d’options nous sommes arrivés à une dernière conclusion, et nous sommes heureux d’annoncer que la Software Freedom Conservancy a invité les projets jQuery à la rejoindre et à continuer son développement sous ses auspices. En rejoignant la Software Freedom Conservancy les projets et la communauté jQuery ont immédiatement eu certains avantages importants :

    1. cela permet aux membres actuels des projets de continuer de diriger les projets et de conserver la maîtrise des axes de développements actuels et futurs ;
    2. cela permet aux projets d’être considérés comme de vraies activités à buts non lucratifs, ce qui nous rends capables d’accepter les dons et les contributions sans impliquer à titre personnel d’énormes responsabilités financières.
    3. la propriété du code sera donnée à la Software Freedom Conservancy, ce qui nous assure qu’aucun individu ne possède de contribution ou n’a de droits sur les projets ;
    4. cela pourrait permettre à des entreprises d’amortir le temps que passe un employé sur le projet ;
    5. plus important, cela assure que le projet jQuery sera toujours un logiciel libre et ouvert.

    C’est une grande étape dans la formalisation des projets jQuery et une réussite importante quant à s’assurer que les investissements faits par la communauté jQuery sont protégés. Nous effectuerons le transfert vers la Software Freedom Conservancy dans les semaines qui viennent. Il y aura très peu, voire pas du tout de changements dans la manière dont le projet est mené. L’équipe jQuery mènera et gérera toujours le projet et nous continuerons de travailler dur pour construire la meilleurs bibliothèque Javascript possible. Éventuellement, cela va même nous aider à libérer un peu de notre temps, que nous pourrons passer à coder — et qui n’aime pas entendre ça ?

    Google Analytics et pages ajax

     - by admin

    Avoir des statistiques de navigation viables sur un site qui utilise des appels ajax pour gérer les pages peux se révéler laborieux…

    Voici une petite fonction que j’ai développé pour parser ce problème:

    [code lang="js"]
    function charge_page(id) {
    var pars = "id="+id;
    new Ajax.Updater(
    "container",
    "page.php",
    {
    method:'get',
    parameters: pars
    });
    googleification();
    }

    function googleification() {
    pageTracker._trackPageview("Nom de la page" );

    }
    [/code]

    Et encore une petite astuce: si vous souhaitez compter le nombre de téléchargement d’un fichier:

    [code lang="html"]
    <a onclick="javascript: pageTracker._trackPageview('/Downloads/mon_fichier.pdf');" href="mon_fichier.pdf?phpMyAdmin=99f8741cd54efab1ae6814d5e9af4958">Mon fichier</a>
    [/code]