innerHTML, t’es une ordure !
Oui, le titre peut surprendre mais il est justifié.
Mais avant tout, une petite explication pour ceux qui ne codent pas en Javascript : innerHTML est une propriété qui existe sur tous les éléments qui sont des balises paires (une balise d’ouverture et une de fermeture), elle permet de modifier le contenu de cet élément de façon très simple, en effet, il suffit de faire ceci :
Et cela aura pour effet d’insérer le texte “Test” entre les balises d’ouverture et de fermeture de l’élément. Ainsi on peut modifier le contenu d’un élément bien plus facilement qu’avec le DOM (plus lent et plus long à écrire, mais pourtant bien plus puissant).
Bref, je ne suis pas un fan absolu de innerHTML mais il faut reconnaître qu’il est bien utile des fois, notamment quand on veut insérer pas mal de balises et de texte en Javascript. Seulement, voilà, dernièrement j’ai réalisé un code de ce genre :
element.firstChild.value = ‘Test’;
element.innerHTML += ‘<input type="button" value="Sauvegarder" />’;
Et soudain…
Mon premier input ne contient pas le texte défini !! Mais pourquoi ?! En fait il se trouve que la propriété value n’est pas enregistrée dans le innerHTML, ce qui fait que lorsque j’écris :
C’est comme si j’avais écrit :
Voilà pourquoi mon texte n’apparaît pas, le innerHTML contient ce que l’on peut voir dans le code source généré, pas plus. Alors pour la propriété value ce n’est pas vraiment un problème car je peux faire ça :
Là j’ai écrit la valeur directement dans le innerHTML, elle est donc sauvegardée. En revanche, pour des évènements créés par le biais du DOM-0 ou le DOM-2 c’est déjà plus problématique…
Alors certains me diront que c’était évident mais que voulez-vous, on ne peut pas toujours penser à tout ! =p
Au final le meilleur moyen pour définir des propriétés qui n’apparaissent pas dans le innerHTML c’est d’utiliser le DOM, mais attention à ne pas faire comme moi : Sur un même élément, si vous ajoutez quelque chose à l’aide du DOM puis que vous faites une concaténation de la propriété innerHTML comme je l’ai fait plus haut alors ça ne fonctionnera pas.
Sur ce, je retourne coder un projet secretolol.
Nes’
PS : Je trouve que cet article est super mal rédigé, si vous êtes de cet avis alors jetez-moi des pierres T_T
Google Update passe en Open Source

La nouvelle a été annoncée il y a peu, Google Update est passé en Open Source. Ce choix n’a pas été fait au hasard, l’utilitaire a été de nombreuses fois pointé du doigt notamment lors de la sortie de Google Chrome. En effet, Google Update s’installait de façon très transparente avec le navigateur, et ce, sans aucun avertissement.
Bien sûr tous les détracteurs de la firme ce sont immédiatement jetés sur l’occasion qui était bien trop belle pour la laisser passer. Ainsi, l’utilitaire en question a été accusé de pas mal de crimes contre l’humanité sous prétexte qu’il récoltait “peut-être” des informations personnelles sur les habitudes des utilisateurs. Mais bien sûr cela n’avait jamais été prouvé…
Il faut dire qu’avec la paranoïa qui règne autour de Google, ce n’est pas étonnant de voir ce genre d’imbécilités. Combien de fois suis-je tombé sur des commentaires du style “J’ai peur” alors que Google ne faisait que sortir un nouveau produit ? Sans compter que les personnes qui sortent des conneries pareilles n’ont généralement aucun argument valable qui peut justifier leurs craintes envers la firme.
Enfin bref, dans son extrême bonté, Google a décidé de publier le code source de son utilitaire afin de montrer que celui-ci ne faisait que son travail : vérifier qu’une mise à jour est disponible et la télécharger si c’est le cas.
Question du jour : Êtes-vous plutôt réticent à utiliser les produits de Google ? Si oui, est-ce à cause de cette paranoïa ou simplement parce que vous n’en avez pas l’utilité ?
Petite absence
J’écris ce billet juste pour signaler que je vais faire comme Grodzilla : je pars au ski !
Oui, on est en avril, je sais. Mais vu comme il a neigé cette année, je vais faire comme l’année dernière : partir quelques jours alors que tous les gêneurs sont rentrés chez eux, à cette époque les pistes sont plutôt vides et c’est génial =p
Bref, je rentre Mercredi soir normalement, soyez bien sages pendant mon absence. J’essaierai éventuellement de réfléchir à un billet à écrire lorsque je serai là-bas, ça fait un moment que je n’ai plus écrit d’article conséquent sur la prog (faut dire que je n’ai pas d’idées en ce moment).
Nes’
Epic fail is epic !

Bon, je pique l’image de minirop pour l’occasion car là ça convient parfaitement à la situation !
Je m’explique : Aujourd’hui j’ai passé le Bac Blanc d’Anglais. Le sujet était composé d’une partie de compréhension et une autre d’expression, cette dernière contenait deux sujets différents. Je fais donc la compréhension en premier puis j’ai choisi un des deux sujets pour l’expression, je termine, je relis, parfait ! Tout était impec, niquel, je crois que j’avais jamais aussi bien réussi !
Oui mais voilà ! Une fois sorti de la salle, je commence à parler avec des amis et je leur demande alors quel sujet ils ont choisi, ils me regardent alors d’un air étonné et m’expliquent… J’avais mal lu la consigne : il fallait faire les deux et moi comme un con je n’en ai fait qu’un seul -__-’
PUTAIN MAIS QU’EST-CE QUE J’AI FAIT POUR MERITER CA ?!
Bon, à part ça, ce n’est plus vraiment un secret d’état : je suis actuellement en train de préparer la deuxième version de Sliding Menu.
Nes’
