Une thickbox bien positionnée sous IE7 et IE8 AUSSI...

On aurai pu se dire que c’était pas trop demander… et pourtant, jusqu’à il y a peu, les Thickbox (même la 3.1) étaient buggées sous certaines versions d’IE7 et sous IE8 niveau positionnement à l’ouverture…

Jusqu’à il y a peu, parce qu’en fait j’ai découvert récemment un billet mentionnant le problème avec IE7 et une solution de contournement…

En gros, il s’agit de mieux repérer qui est “vraiment” un IE6 et qui a juste “oublié son nom”…

Il faut donc redéfinir la façon dont le script détermine la version de IE puis changer quelques lignes plus bas le test qui nous concerne :

if ( !(jQuery.browser.msie6)) { 
// take away IE6
$("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
}

`

Et quid d’IE8 donc ?
Bein en fait, en lisant les commentaires dudit billet, j’ai extrapolé, et modifié un peu plus les lignes d’origine pour obtenir :

$.browser.msie6=
$.browser.msie
&&/MSIE 6.0/i.test(window.navigator.userAgent)
&&!/MSIE 7.0/i.test(window.navigator.userAgent)
&&!/MSIE 8.0/i.test(window.navigator.userAgent);

`

Et voilà !
“Magique”, ça marche enfin partout !

Alors, oui, je sais, vous allez me dire “thickbox c’est trop has-been, maintenant y’a trucPouet ou machinChose” (ou que sais-je encore) mais :

  • parfois on a pas le choix, on doit utiliser en une,
  • pour les “anciens” sites fait avec, et qui ne sont pas prêts d’être refondus, on peut quand même les “réparer” ça fait toujours zizir,et pas qu’à votre égo j’entends… :)

Alors voilà, comme je n’ai pas trouvé d’article reprenant tout ça en un endroit, j’ai fini par me faire violence, prendre le temps nécessaire, vous faire un article, et je vous propose de récupérer ici : le fichier non compressé et la version “packée”/compressée (avec le script de Dean Edwards).
J’en profite pour vous signaler ce petit formulaire pour décompresser et rendre lisible (indenté, coloré, etc) un script JS, ça peut toujours être utile…

J’espère que ça pourra vous rendre service, ça me ferait plaisir :)

A (très…) bientôt !
Mais d’ici là je retourne bosser :)

Commentaires