Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JS, IE et moi

7 réponses
Avatar
Olivier Masson
Salut,

Tout fonctionnait sous FF et puis, toujours avec la même crainte, je
suis allé voir sous IE, 8 pour commencer, histoire de ne pas déprimer
immédiatement.

Je pensais avoir éventuellement un design dégradé, mais là, il me fout
carrément en mode IE5 (non, il n'y a aucun caractère avant le DOCTYPE et
oui, le doctype est valide et même oui le document est 100% green valid
HTML4.01 strict) ! Je vais vomir.

Je ne sais pas si dans ce cas le moteur JS est aussi celui d'IE5, mais
il n'aime pas du tout... beaucoup de choses, comme la déclaration de
constantes avec const par exemple.

La debugbar ne sert pas à grand chose.

Existe-t-il un site qui répertorie les problèmes de JS avec IE ?

Merci.

7 réponses

Avatar
Pascal
Olivier Masson a écrit :
Salut,



Bonjour,

Je ne sais pas si dans ce cas le moteur JS est aussi celui d'IE5, mais
il n'aime pas du tout... beaucoup de choses, comme la déclaration de
constantes avec const par exemple.




IE8 utilise toujours le moteur Trident, voir :
http://fr.wikipedia.org/wiki/Trident_%28moteur_de_rendu%29

Maintenant, qu'est-ce que donne leur nouveau "mode de compatibilité" ?
http://msdn.microsoft.com/fr-fr/ie/cc963662.aspx

Plus généralement, je conseille toujours de rester dans les versions
JavaScript 1.5 et JScript 5.5 pour un maximum de compatibilité, en
attendant que tous les moteurs soient à niveau.
Mais cela proscrit l'usage de fonctions avancées, comme justement la
déclaration de constantes !

Cordialement,
Pascal
Avatar
SAM
Le 1/14/10 4:55 PM, Olivier Masson a écrit :
Salut,

Tout fonctionnait sous FF et puis, toujours avec la même crainte, je
suis allé voir sous IE, 8 pour commencer, histoire de ne pas déprimer
immédiatement.



M'enfin !
Pourquoi n'as-tu pas codé que pour IE ?
(histoire de déprimer avec tous les autres, pour changer)

Je pensais avoir éventuellement un design dégradé, mais là, il me fout
carrément en mode IE5 (non, il n'y a aucun caractère avant le DOCTYPE et
oui, le doctype est valide et même oui le document est 100% green valid
HTML4.01 strict) ! Je vais vomir.

Je ne sais pas si dans ce cas le moteur JS est aussi celui d'IE5, mais
il n'aime pas du tout... beaucoup de choses, comme la déclaration de
constantes avec const par exemple.




et quel est l'avantage de const par rapport à var ?

Qui s'en sert ?

Et où as-tu trouvé ça ?

La debugbar ne sert pas à grand chose.



Je ne sais ce que c'est
... si ça s'appuie sur la console ... pas très étonnant ...
plus merdique ... pas possible (sauf IE lui-même bien sûr)

Existe-t-il un site qui répertorie les problèmes de JS avec IE ?



MDC te prévient clairement que ce n'est pas supporté par M$
<https://developer.mozilla.org/fr/R%c3%a9f%c3%a9rence_de_JavaScript_1.5_Core/Instructions/const#Description>

Et puis ... est-ce que M$ en parle ?
Voyons voir :
<http://social.msdn.microsoft.com/Search/en-US/?RefinementY%2c62&Query=const>
(changer le Query pour voir s'il y est en JScript)


Merci.



Trouvé ça :
<http://www.skewsme.com/code/conman.js>
des fois que ça puisse servir ?


--
sm
Avatar
Olivier Masson
Le 14/01/2010 17:36, Pascal a écrit :


IE8 utilise toujours le moteur Trident, voir :
http://fr.wikipedia.org/wiki/Trident_%28moteur_de_rendu%29

Maintenant, qu'est-ce que donne leur nouveau "mode de compatibilité" ?
http://msdn.microsoft.com/fr-fr/ie/cc963662.aspx




Oui, tt ça je sais mais je pensais que JS, c'était JS. Bon, en fait
j'avais entendu parler de ECMAScript et de trucs de ce genre, mais il me
semblait que maintenant, il n'y avait plus qu'une question de version.
Quant aux modes de compat, c'est un peu du pipeau puisque j'ai TOUT
essayén dont la META spécifique, mais mon site reste en mode IE5, alors
que même que doc dégradé devrait faire passer en IE7.
En fait, je ne sais pas si c'est documenté mais :
- je passais en IE5 parce que j'utilisais /const/ en JS !
- je passe automatiquement en IE5 si je fais un refresh de ma page alors
que si je vais dans la barre d'adresse et que je valide (bref, je
retourne sur la même page, mais sans refresh), je reste en IE8 (dans la
mesure où j'ai viré les /const/)

Plus généralement, je conseille toujours de rester dans les versions
JavaScript 1.5 et JScript 5.5 pour un maximum de compatibilité, en
attendant que tous les moteurs soient à niveau.



Que du bonheur ! IE me fait déjà perdre du temps en html/css, c'est
aussi un boulet en JS !
Avatar
Olivier Masson
Le 14/01/2010 19:01, SAM a écrit :

M'enfin !
Pourquoi n'as-tu pas codé que pour IE ?
(histoire de déprimer avec tous les autres, pour changer)



Parce qu'il n'y a pas firebug sous IE (ah mais si au fait, y'avait bien
un pseuso-simili j'avais oublié) et parce qu'encore une bonne partie des
gens sont sous IE6 (ça y est, je vomis).


et quel est l'avantage de const par rapport à var ?



De déclarer une constante :)


Qui s'en sert ?



Les mêmes que ceux qui utilisent les constantes dans d'autres langages ?


Et où as-tu trouvé ça ?



Sur un site de recettes de cuisine je pense. Ou porno.

MDC te prévient clairement que ce n'est pas supporté par M$
<https://developer.mozilla.org/fr/R%c3%a9f%c3%a9rence_de_JavaScript_1.5_Core/Instructions/const#Description>



En effet. Même pas Opera.



Et puis ... est-ce que M$ en parle ?
Voyons voir :
<http://social.msdn.microsoft.com/Search/en-US/?RefinementY%2c62&Query=const>

(changer le Query pour voir s'il y est en JScript)




C'est un /Future Reserved Word/
Euh mais, pourquoi "future" alors qu'il y a également dans cette liste
static, class, public, float, etc. ? M'enfin, pas grave...
Avatar
SAM
Le 1/15/10 10:18 AM, Olivier Masson a écrit :
Le 14/01/2010 19:01, SAM a écrit :

M'enfin !
Pourquoi n'as-tu pas codé que pour IE ?
(histoire de déprimer avec tous les autres, pour changer)



Parce qu'il n'y a pas firebug sous IE (ah mais si au fait, y'avait bien
un pseuso-simili j'avais oublié) et parce qu'encore une bonne partie des
gens sont sous IE6 (ça y est, je vomis).



Harrrg ! Fais ça de l'autre côté !

Qui s'en sert ?



Les mêmes que ceux qui utilisent les constantes dans d'autres langages ?



Oui mais là tu es en JS
(de ttes façons je ne vois pas l'intérêt, yaka pas bricoler la var qui
sert de constante, non ?)

Et où as-tu trouvé ça ?



Sur un site de recettes de cuisine je pense. Ou porno.



Je m'disais aussi !

--
sm
Avatar
SAM
Le 1/15/10 10:07 AM, Olivier Masson a écrit :
Le 14/01/2010 17:36, Pascal a écrit :


IE8 utilise toujours le moteur Trident, voir :
http://fr.wikipedia.org/wiki/Trident_%28moteur_de_rendu%29

Maintenant, qu'est-ce que donne leur nouveau "mode de compatibilité" ?
http://msdn.microsoft.com/fr-fr/ie/cc963662.aspx




Oui, tt ça je sais mais je pensais que JS, c'était JS.



chez M$ ?

ça vient de sortir ?

Ils ont trouvé acheteur alors ?
Personne ne m'dit jamais rien !
--
sm
Avatar
Mickaël Wolff
SAM a écrit :
Oui mais là tu es en JS
(de ttes façons je ne vois pas l'intérêt, yaka pas bricoler la var qui
sert de constante, non ?)



C'est aussi ce que pensent certainement les partisans de GObject, se
moquant de la verbosité de C++ (avec tout ces const_cast, private et
autres mots-clé de gestion de l'accès aux variables). Certes on peut
écrire des programmes sans utiliser tout ces outils, mais on perd
beaucoup de facilités du langage au détriment de la maintenance.

Utiliser le qualificatif const, c'est avant tout documenter le code,
en demandant à l'interpréteur de nous aider à faire respecter la
constance de la variable. Surtout qu'en javascript, on est dans un
paradigme de passage par référence, sans compter les pièges cloîtrant
(closures) !

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org