graphicriver

Bug IE : innerHTML d’une balise select

Posté par Swifty_core le 8 juillet 2009 Comments (4)

Vous allez me dire que je troll un peu trop en ce moment concernant Internet Explorer mais, là il y à vraiment de quoi s’énerver. Je vous explique :

Avec la popularisation (à outrance?) des requêtes AJAX qui permettent par exemple de modifier le contenu d’une partie de la page, on peut être amener à gérer des liste/combos qui se remplissent dynamiquement en fonction de choix etc.

Horreur et stupéfaction ( :D ), on ne peut pas remplir le contenu d’une liste ‹select› en javascript en envoyant directement le contenu en innerHTML… Jusque là, vous me direz, «bon c’est peut-être récent», ils vont réagir chez cro$oft! Allez donc voir ce lien : bug IE! Vous devez voir comme moi : « Dernière mise à jour: lundi 12 mai 2003″, mais aussi et surtout :

Les informations contenues dans cet article s’appliquent au(x) produit(s) suivant(s):
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer (Programming) 5.01 SP1
  • Microsoft Internet Explorer 5.5

Je me suis alors demandé : «Je dois déconner, ils parlent d’un truc sous IE5, sous IE7/8 mon script devrait marcher…»! Hmmm…. Non.

Vous pouvez ensuite me dire : «Hmmmf, tu sais pas faire ca en DOM?» ; je répondrais que oui mais s’amuser avec DOM et IE, je ne préfère pas. Notez la belle solution de microsoft qui consiste à entourer le select d’un div qu’on réécrit complètement… « Ca va suffir, vont pas nous faire chier les développeurs, qu’ils se débrouillent! » :D

Cette fois c’est sûr, je vais réagir : Boycott IE!

D’ici peut, vous verrez apparaître un nouveau billet avec un petit script maison, à inclure dans vos page pour prendre la main de l’utilisateur qui ne connait pas d’alternatives

Une petite fonction utile pour faire clignoter des éléments

Posté par Swifty_core le 16 juin 2009 Comments (0)

Voici une petite fonction utile permettant de faire « clignoter » des éléments de manière récurrente.
Il s’agit en fait d’un simple appel à la fonction highlight de mootools… ;)

window.addEvent('domready',function(){
 setInterval("glowItems('.glow','#FFFFFF','#FFAA00');",1500);
});
function glowItems(className,colorStart,colorEnd){
 $$(className).each(function(item){
 item.highlight(colorStart,colorEnd);
 });
}

Exemple :


Cette fonction peut être utile dans un tableau oû on certaines lignes ont besoin d’une attention particulière par exemple… Il suffit de mettre des classes aux éléments que l’on souhaite voir clignoter

themeforest