Javascript et IE6

Eléphant du PHP | 169 Messages

05 sept. 2008, 14:29

Bonjour, j'ai un code javascript qui fonctionne parfaitement sous Mozilla, Opera et Safari, à 50% sou IE7 (il ne gère pas le reload sur un onclick) et carrement pas sous IE6 :cry:

Le voici :

Code : Tout sélectionner

Fx.Properties = Fx.Styles.extend({ increase: function(){for ( var p in this.now) this.element[p] = this.now[p]; } }); Fx.FlyingScroller = Fx.Properties.extend({ initialize: function(el, options){ this.parent(el, options); this.options = Object.extend(this.options || {}, Object.extend({ paddingLeft: 0, paddingTop: 0 }, options || {})); }, toElement: function(el, paddingLeft, paddingTop){ this.goTo(el.offsetLeft - (paddingLeft || this.options.paddingLeft || 0), el.offsetTop - (paddingTop || this.options.paddingTop || 0)); }, goTo: function(x, y){ this.custom({ 'scrollTop': [this.element.scrollTop, y] }) } }); window.onload=function(){ var objet = document.getElementById(\"tile-inner\"); }

si quelqu'un pouvait bien m'aiguiller sur la fonction qui n'est pa géré par I6, ce serait super.
J'ai deja regardé du côté du getElementById que je devrais remplacer par getObjectById mais ça ne change rien... :(

Eléphanteau du PHP | 38 Messages

05 sept. 2008, 14:41

Je ne suis pas très à l'aise avec le javascript, donc mon intervention ne concernera pas vraiment le coté technique de ton problème.

Je tiens juste à te dire que tu n'es pas obligé de te prendre avec la tête avec un navigateur obsolète (IE6), qui ne sert plus à rien. Si ton code marche sur tous les navigateurs à part ce dernier, c'est qu'il est correct et que tu te prends la tête pour rien (ça ne veut pas dire qu'il n'y a pas de solution pour le faire marcher sous IE6).

Eléphant du PHP | 169 Messages

05 sept. 2008, 14:50

Merci de cette réponse.

Malheureusement elle ne conviendra pas à mon client, surtout que IE6 représente toujours à peine moins de 25% des utilisateurs (comme IE7)..
source

[edit]correction syntaxique

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 sept. 2008, 17:04

Je tiens juste à te dire que tu n'es pas obligé de te prendre avec la tête avec un navigateur obsolète (IE6), qui ne sert plus à rien. Si ton code marche sur tous les navigateurs à part ce dernier, c'est qu'il est correct et que tu te prends la tête pour rien (ça ne veut pas dire qu'il n'y a pas de solution pour le faire marcher sous IE6).
Quand on sais qu'il y a plus de IE6 que de FF2, en chiffre brut, je ne pense pas qu'il soit encore obsolète :S
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 965 Messages

05 sept. 2008, 17:35

Je tiens juste à te dire que tu n'es pas obligé de te prendre avec la tête avec un navigateur obsolète (IE6), qui ne sert plus à rien. Si ton code marche sur tous les navigateurs à part ce dernier, c'est qu'il est correct et que tu te prends la tête pour rien (ça ne veut pas dire qu'il n'y a pas de solution pour le faire marcher sous IE6).
Quand on sais qu'il y a plus de IE6 que de FF2, en chiffre brut, je ne pense pas qu'il soit encore obsolète :S
Ca dépend des sites, quand je regarde les sites grand public c'est 80%-90% du temps de l'internet explorer (6 en grande partie), dans des sites spécialisé, genre des trucs de djeuns (lol) ben tu verra beaucoup plus de firefox et d'autres browser.

Il faut faire en fonction du public concerné, si tu fais un site vitrine il faudra qu'il s'affiche en 800*600 sous IE6 aussi.

Eléphant du PHP | 169 Messages

06 sept. 2008, 11:57

Pas que cette discussion ne me touche pas ( au contraire elle prouve que pas mal de membres lisent tous les sujets), mais peut-on revenir au sujet initial svp ? :oops:

Eléphant du PHP | 169 Messages

08 sept. 2008, 13:01

Bon et bien si ça intéresse quelqu'un, j'ai résolu mon problème, merci moi.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 sept. 2008, 14:24

Et quelle était la solution ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 169 Messages

08 sept. 2008, 15:10

J'ai fait une analyse différente pour IE6.

Du coup, j'ai mon script de défilement tout joli pour tous les browsers != de IE6, et pour IE6 je défile à "l'ancienne" avec des ancres. C'est plus rude quoi.

Pour savoir si je ne suis pas sous IE6, j'utilise :
$ua = getenv("HTTP_USER_AGENT");
if (!strstr($ua, "MSIE") ) :
//Tout ce qui n'est pas MSIE
else :
if (strstr($ua, "MSIE") && strstr($ua, "7.0")) {
//IE7 
}
else {
//IE6 ici
}
endif;

J'avais pas mis la solution parce que je considérais pas vraiment cela comme une solution pouvant fonctionner avec tous les problèmes IE6 et JS, je la trouve trop "personnel" et bidouillée.


[edit]correction syntaxique