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

Mon site passe-t-il sur IE ?

36 réponses
Avatar
Jean Francois Ortolo
Bonjour

Mon site : https://www.pronostics-courses.fr

Avant-hier, j'ai mis sur mon site, les headers <meta http-equiv
X-UA-Compatible etc... pour que les navigateurs IE l'interprètent comme
des IE 10.

J'ai mis : "10" au lieu de "edge" dans ces <meta http-equiv.

Que veut dire "edge" en langage Microsoftien ?

Merci de me dire si mon site n'a pas de problèmes d'affichage sous IE
( et quelles versions posent problème ).

Merci de faire attention particulièrement, aux pages sur lesquelles
il est possible d'activer l'Historique Graphique des Courses passées.

Exemple :
https://www.pronostics-courses.fr/php/courses_nouvelles/pronostics_new_courses,0.html

Pour afficher ces Historiques, il suffit de cliquer sur le bouton
"Histor." puis le bouton "Ok".

Merci beaucoup de vos réponses.

Respectueusement.

Jean François Ortolo

10 réponses

1 2 3 4
Avatar
rm
Salut,
Le lundi 9 février 2015 à 15:22, Eric Demeester a écrit :

Un petit mot explicatif aussi en page d'accueil, listant les navigateurs
non compatibles et proposant des liens vers des alternatives (je suggère
Firefox et Opera



En fait , on dit plus Opera, on dit Vivaldi désormais <:o)

--
rm - http://vivaldi.com - https://vivaldi.net/forum/french
Avatar
Jean Francois Ortolo
Rebonjour

Je crois que IE 7 et IE 6 ( IE 5 aussi ), ne sont pas compatibles
avec HTML 5.

Est-ce qu'il n'y aurait pas des problèmes avec cette déclaration :

[code]

<!DOCTYPE html>
<!--[if lt IE 7]>
<html class="style_ie56" lang="fr">
<![endif]-->

<!--[if IE 7]>
<html class="style_ie7" lang="fr">
<![endif]-->

<!--[if IE 8]>
<html class="style_ie8" lang="fr">
<![endif]-->

[/code]


Les deux premiers [if ] , vont-ile être interprétés, par IE 5, IE 6,
ou IE 7 ?

Faut-il, pour ces navigateurs, utiliser un script javascript pour
affecter sa classe à la balise html ?

Merci beaucoup de vos réponses.

Respectueusement.

Jean François Ortolo
Avatar
SAM
Le 11/02/15 08:47, Jean Francois Ortolo a écrit :


Rebonjour

Je crois que IE 7 et IE 6 ( IE 5 aussi ), ne sont pas compatibles
avec HTML 5.



Je n'ai toujours pas de IE ni de testeur fiable ... !

Quelqu'un essaierait-il le dernier exemple proposé ?
démo de menu ici :
<http://stephane.moriaux.pagesperso-orange.fr/truc/menu_tradi>

Est-ce qu'il n'y aurait pas des problèmes avec cette déclaration :



En tous cas ça ne gène pas le validateur !
<http://validator.w3.org/check?uri=http%3A%2F%2Fstephane.moriaux.pagesperso-orange.fr%2Ftruc%2Fmenu_tradi&charset=%28detect+automatically%29&doctype=Inline&group=0>

<!DOCTYPE html>
<!--[if lt IE 7]>
<html class="style_ie56" lang="fr">
<![endif]-->

<!--[if IE 7]>
<html class="style_ie7" lang="fr">
<![endif]-->

<!--[if IE 8]>
<html class="style_ie8" lang="fr">
<![endif]-->



il manque qque chose comme :
<!--[if !IE ]>
<html lang="fr">
<![endif]-->

enfin ... je crois bien


[/code]


Les deux premiers [if ] , vont-ile être interprétés, par IE 5, IE 6,
ou IE 7 ?



Non, pas IE.7

si tu veux IE.7 aussi (inférieur ou égale à 7)
<!--[if lte IE 7]>


Faut-il, pour ces navigateurs, utiliser un script javascript pour
affecter sa classe à la balise html ?



et où placerais-tu ce script ?

Je ne comprends pas ... puisque tu utilises PHP et que tu sais sniffer
les navigateurs, pourquoi le PHP n'écrit-il pas cette balise HTML
spécifique ?
De même, si le doctype ne plait pas à IE ...
(ce dont je doute, avec son laxisme habituel il doit s'en battre !)


Merci beaucoup de vos réponses.

Respectueusement.

Jean François Ortolo










Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
Eric Demeester
Bonjour,

Jean Francois Ortolo (Wed, 11 Feb 2015 08:47:43 +0100 -
fr.comp.infosystemes.www.auteurs) :

Je crois que IE 7 et IE 6 ( IE 5 aussi ), ne sont pas compatibles
avec HTML 5.



Je confirme, pas de HTML5 sous IE avant IE9. Il existe un bricolage
javascript sensé aider pour IE7 et 8. Un article parmi d'autres sur le
sujet, mais assez didactique et documenté :


http://www.geekmaispasque.com/2012/04/utiliser-balises-html5-internet-explorer-ie8/

Pas testé.
Avatar
Jean Francois Ortolo
Le 11/02/2015 17:33, Eric Demeester a écrit :
Bonjour,

Je confirme, pas de HTML5 sous IE avant IE9. Il existe un bricolage
javascript sensé aider pour IE7 et 8. Un article parmi d'autres sur le
sujet, mais assez didactique et documenté :


http://www.geekmaispasque.com/2012/04/utiliser-balises-html5-internet-explorer-ie8/

Pas testé.





Bonjour Monsieur

J'ai téléchargé le package puis mis le script html5shiv.js sur mon site.

Je sais que je dois mettre les :inline-block; en :block; , mais je
n'utilise aucune balise spécifique html 5 ( nav, section... ).

Mon problème c'est seulement le css3, c'est ce que j'entendais par
"html 5".

J'utilise un peu css3 pour le rendu ( ombré/arrondi des boutons ),
et le menu déroulant du haut des pages internes.


Comme j'utilise le javascript pour afficher mes données de stats, il
y a aussi ( c'est différent ) le problème de la compatibilité des
instructions javascript.

Quant au css, je sépare ( en détectant en php avec la classe
MobileDetect ), le fichier *.css des mobiles celui des desktop/tablettes.

Je vais probablement voir le javascript d'abord, puis les *.css.

Les stats ne s'affichent pas avec http://netrenderer.com sous IE 8.

Pour avoir plus de visibilité ( hauteur/largeur ), je devrai
peut-être utiliser browsershot.com

Super merci pour votre aide. ;)

Respectueusement.

Jean François Ortolo
Avatar
Eric Demeester
Bonsoir,

Jean Francois Ortolo (Wed, 11 Feb 2015 19:33:14 +0100 -
fr.comp.infosystemes.www.auteurs) :

Mon problème c'est seulement le css3, c'est ce que j'entendais par
"html 5".



Ah. Ce sont deux choses différentes, bien qu'elles aillent souvent de
pair.

J'utilise un peu css3 pour le rendu ( ombré/arrondi des boutons ),
et le menu déroulant du haut des pages internes.



Sur ces points aussi, il existe des moyens de contournement, souvent en
Javascript.

Comme j'utilise le javascript pour afficher mes données de stats, il
y a aussi ( c'est différent ) le problème de la compatibilité des
instructions javascript.



A priori, les navigateurs, même anciens, interprètent correctement le
javascript, c'est souvent le biais utilisé pour pallier les problèmes de
CSS. Ce qui risque de coincr, ce sont d'éventuels scripts en Ajax,
mêlant javascript, interactions avec le serveur avec rafraichissement
partiel des pages et autres fonctions inutilisables avec d'anciens
navigateurs.

Quant au css, je sépare ( en détectant en php avec la classe
MobileDetect ), le fichier *.css des mobiles celui des desktop/tablettes.



Je ne sais pas ce que fait cette classe, mais classiquement, on
distingue les différents types de clients en fonction des en-têtes HTTP
qu'ils envoient, lesquelles ne dépendent que de leur bon vouloir, le
reste étant plus ou moins efficacement déduit par le logiciel serveur.

Je vais probablement voir le javascript d'abord, puis les *.css.



Je suppose qu'il vaut mieux procéder par étapes, effectivement.

Les stats ne s'affichent pas avec http://netrenderer.com sous IE 8.



Si, comme moi, vous utilisez des fonction javascripts récupérées ici ou
là parce que vous n'êtes pas capable de les écrire, trouver la faille
risque d'être compliqué.

Si vous maitrisez votre code, un débogage par itérations successives
jusqu'à trouver l'instruction fautive est fastidieux mais envisageable.

En pareil cas, je vous avoue mettre une mention du style « ne fonctionne
pas avec IE8 et antérieurs, mettez votre navigateur à jour ou utilisez
(Firefox / Vivaldi / Safari) » et ne pas me casser la tête plus avant.

Pour avoir plus de visibilité ( hauteur/largeur ), je devrai
peut-être utiliser browsershot.com



Je ne sais pas de quoi vous parlez exactement, mais si ce n'a pas déjà
été cité, le menu « Fenêtre » du module additionnel « Web Developer » de
Firefox, propose l'affichage des fenêtres en simulant divers terminaux
(téléphones, tablettes), voir un affichage aux dimensions que vous
déterminez.

Très utile pour tester les rendus.

Bonne soirée,
Avatar
Jean Francois Ortolo
Bonsoir Monsieur

En fait, html5shiv.js semble changer le DOM, je pense que je préfère
utiliser PIE pour les css3, et puis corriger moi-même les problèmes de
rendu html ( foireux ), sous IE anciennes versions, en mettant des :

:inline-block;
zoom:1;
:inline;

en suivant les classes de html.

Comme je n'utilise pas de html 5 spécifiquement, il n'y a plus qu'à
voir le javascript.

J'ai trouvé une page MSDN de Microsoft, détaillant les supports ( ou
pas de support ) d'instructions javascript par IE 6 à 11.

Les instructions javascript type Ajax n'y sont pas... ;(

J'ai un script simulant les getElementById et quelques petites choses
non supportées par IE 6 et 7. Il n'est pas du tout exhaustif.

J'espère pouvoir adopter une approche top-down ( conception puis
réalisation ), plutôt que de faire du tip & go.

Respectueusement.

Jean François Ortolo
Avatar
Jean Francois Ortolo
Le 11/02/2015 21:05, Eric Demeester a écrit :
Bonsoir,
A priori, les navigateurs, même anciens, interprètent correctement le
javascript, c'est souvent le biais utilisé pour pallier les problèmes de
CSS. Ce qui risque de coincr, ce sont d'éventuels scripts en Ajax,
mêlant javascript, interactions avec le serveur avec rafraichissement
partiel des pages et autres fonctions inutilisables avec d'anciens
navigateurs.






Bonjour Monsieur

J'ai fait un script qui réécrit ( si bsoin ), les fonctions suivantes :

getElementById()

getElementByName(name, tag) ( deux paramètres, pas conforme ),

Array.indexOf()

Plus autres fonctions : ( pour la gloriole )

getObjectStyle(obj)

hide(obj)

show(obj)


Quant à Ajax, le site www.developpez.com dit que ces fonctions sont
valides sur IE 6.

Du moins :

XMLHttpRequest() ,

ou

ActiveXObject() avec les paramètres qui vont bien.

Sur mon site, je teste ces paramètres :

"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP".

Les événements suivants sont également supportés par IE 6 :

onreadystatechange

les variables :

xsr.readyState
xsr.status
xsr.responseText

Les méthodes :

xsr.open()
xsr.SetRequestHeader(" "),
xsr.send().


Je fais des requêtes Ajax asynchrones et synchrones aussi sur mon site.

Merci beaucoup de votre réponse.

Jean François Ortolo
Avatar
SAM
Le 12/02/15 20:00, Jean Francois Ortolo a écrit :
Le 11/02/2015 21:05, Eric Demeester a écrit :
Bonsoir,
A priori, les navigateurs, même anciens, interprètent correctement le
javascript, c'est souvent le biais utilisé pour pallier les problèmes de
CSS. Ce qui risque de coincr, ce sont d'éventuels scripts en Ajax,
mêlant javascript, interactions avec le serveur avec rafraichissement
partiel des pages et autres fonctions inutilisables avec d'anciens
navigateurs.





Il faut remonter à Netscape au moins, non ?


Bonjour Monsieur

J'ai fait un script qui réécrit ( si bsoin ), les fonctions suivantes :

getElementById()



Il me semble que les IE connaissent cette instruction depuis belle
lurette (IE.5,5 ?)
Juste ils confondent ID et NAME, il faut donc éviter d'utiliser le même
mot pour un ID sur un élément et pour un NAME sur un autre élément

de passer par
document.all['blabla']
au lieu de
document.getElementById('blabla')
ne résoudra pas ce problème
amha

getElementByName(name, tag) ( deux paramètres, pas conforme ),



heu ... ça sort d'où cette fonction ?
je connais :
document.getElementsByName(name)
mais ni Element au singulier ni avec 2 paramètres


Quant à Ajax, le site www.developpez.com dit que ces fonctions sont
valides sur IE 6.



ici on voit que depuis, au moins, 2005 ça doit fonctionner
<http://openweb.eu.org/articles/objet_xmlhttprequest/>

J'ai aussi une démo simple depuis 2005 :
<http://stephane.moriaux.pagesperso-orange.fr/truc/HttpRequest/>
(de nos jours qui ne connaissent plus les modem 64k on n'y voit pas de
grande différence de vitesse entre méthode pure html et méthode
béquillée par Ajax)

Et là du pré-mâché depuis 2002
<http://jibbering.com/2002/4/httprequest.html>

Sur mon site, je teste ces paramètres :

"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP".



Je ne sais ce que ça vaut ce "Clean Ajax" :
<http://clean-ajax.sourceforge.net/>




Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
Jean Francois Ortolo
Le 12/02/2015 20:33, SAM a écrit :


Bonjour Monsieur

Je répond ci-dessous à vos questions.


Le 12/02/15 20:00, Jean Francois Ortolo a écrit :

Bonjour Monsieur

J'ai fait un script qui réécrit ( si bsoin ), les fonctions
suivantes :

getElementById()



Il me semble que les IE connaissent cette instruction depuis belle
lurette (IE.5,5 ?)
Juste ils confondent ID et NAME, il faut donc éviter d'utiliser le même
mot pour un ID sur un élément et pour un NAME sur un autre élément




En fait... Pour un même élément, il ne faut pas donner un name et un
id différents.

Cependant vous dites vrai. Si deux éléments différents ont le même
name ( ou id ), je crois ( pour deux name identiques ), que çà ne
marchera pas. Et de toute façon, je n'utilise cette fonction que pour
des id réels, qui ne sont pas censés figurer ailleurs ( même comme name ).


Le blème, étant que IE prend également les name en sus des id.

Merci beaucoup pour votre indication : Je ne réécrirai pas cette
fonction.


de passer par
document.all['blabla']
au lieu de
document.getElementById('blabla')
ne résoudra pas ce problème
amha

getElementByName(name, tag) ( deux paramètres, pas conforme ),



heu ... ça sort d'où cette fonction ?
je connais :
document.getElementsByName(name)
mais ni Element au singulier ni avec 2 paramètres





Bon j'ai oublié le s.

Je sais qu'il n'y a qu'un seul paramètre ( name ), à cette fonction,
mais la nouvelle fonction peut avoir au choix, un ou deux paramètres :

getElementsByName(name, tag) ( précise tag la balise html concernée )

getElementsByName(name) ( tag = "*" par défaut ).



Quant à Ajax, le site www.developpez.com dit que ces fonctions sont
valides sur IE 6.



ici on voit que depuis, au moins, 2005 ça doit fonctionner
<http://openweb.eu.org/articles/objet_xmlhttprequest/>




Super j'ai vu.


Il ne me reste plus qu'à convertir mes insertRow() et insertCell(),
en createElement(), createTextNode(), appendChild(), et autres écritures
de styles sur les éléments des cellules.

Je suppose que pour un élément html, il suffit de faire :

elem.style.property = 'value';

property = par ex. : colorBackground

Je ne sais pas le niveau de compatibilité des nouvelles fonctions de
tableau.

La prochaine étape, sera un audit des différents codes javascript
existants sur mon site, ( et du code html pour les name et id ).

Pour ces derniers, je n'ai pas trop d'inquiétude, car j'ai fait très
attention au moment de la programmation, mais il est vrai que pour mes
formulaires, j'utilise des name sous forme d'arrays. ;(

Super merci pour votre aide. ;)

Respectueusement.

Jean François Ortolo
1 2 3 4