5568 sujets

Sémantique web et HTML

Bonjour à tous,
j'ai un léger problème pour mon site, c'est une histoire d'optimisation.
La page d'accueil actuelle (qui est une solution temporaire) est une grosse image avec des area ; j'ai alors fait la version extensible, qui à l'avantage d'être plus légère (131kio d'images contre 206kio) grâce à l'optimisation des png.
Seulement pour IE6, la compression des png par réduction de couleurs rendait très mal, j'ai pu seulement enlever les infos inutiles (donc 335kio d'images). Vu que l'on a une bande passante limitée, j'ai créé une page pour les navigateurs normaux, et une autre à laquelle IE6 est redirigé à l'aide de :
<!--[if lte IE 6]>
	<meta http-equiv="refresh" content="0;url=index_ie.html" />
<![endif]-->

Seulement il attend d'avoir chargé la page normal pour se rediriger... Donc consommation pour rien et vu que j'associe IE6 à ceux qui sont encore en 56k, cela les fait prendre aussi du temps Smiley ohwell

Donc est-ce qu'il y aura une autre manière de rediriger, voir un truc comme "si IE6, charger ces images au lieu des autres" ?!
Merci.
Modifié par Dreamkey (24 Jan 2010 - 19:03)
Hello,

est-ce que tu as PHP sur ton hébergement ? Si oui, tu peux identifier Internet Explorer et rediriger vers la page que tu veux grâce à ce code :
$userAgent=$_SERVER["HTTP_USER_AGENT"];
if (preg_match('/msie\s6/i', $userAgent) && !preg_match('/opera/i', $userAgent))
{
    // Ta redirection pour Internet Explorer 6
    header("location:http://www.domaine.com/mapage-pour-ie.php");
}
NB: l'appel de la fontion php header() doit se faire avant d'avoir imprimé le moindre caractère dans ton fichier de retour, tu dois donc faire appel à ce petit script tout en haut de la page PHP
Merci mais je ne peux pas utiliser php sur cette page : elle a été mise en place après la page index.php car certains n'arrivaient pas à trouver l'info (alors qu'il y a un beau menu déroulant, mais apparemment c'est trop compliqué Smiley biggol ) et heureusement index.html est prioritaire sur index.php

Par simple curiosité, pourquoi "!preg_match('/opera/i', $userAgent)" ?
Sinon en passant par javascript ?
Dans le head tu sniffes le browser et tu rediriges.
Avantage : ça n'attend pas le chargement complet
desavantage: si js est desactive il faudra mettre des balises noscript pour une redirection manuelle
Salut,

une redirection n'a vraiment rien à faire ici. Smiley cligne

Si tu veux afficher une image particulière pour IE6 il suffit d'utiliser (comme tu le fais déjà dans ton code) un commentaire conditionnel.
<!--[if gte IE 7]> <!-->
<img src="image.png" alt="" />
<!--> <![ endif]-->
<!--[if lt IE 7]>
<img src="image.gif" alt="" />
<![ endif]-->


Au passage je ne vois vraiment aucun rapport entre IE6 et bas débit.
Modifié par Heyoan (23 Jan 2010 - 10:44)
Heyoan a écrit :
une redirection n'a vraiment rien à faire ici. Smiley cligne

Si tu veux afficher une image particulière pour IE6 il suffit d'utiliser (comme tu le fais déjà dans ton code) un commentaire conditionnel.
Le problème c'est que ce sont exactement les même images pour IE, juste qu'elles sont moins compressées, donc avec un commentaire conditionnel je ne pourrais qu'afficher ces images avec les autres, alors que je voulais les remplacer.
Donc comme l'a suggéré SpaceFrog, je crois qu'il n'y a que le js qui ne puisse faire ça...


Heyoan a écrit :
Au passage je ne vois vraiment aucun rapport entre IE6 et bas débit.
Voilà comment je vois la chose : ceux qui ont gardé IE6 sont les entreprises (à cause d'un logiciel qui a été développé pour IE6) et les particuliers qui ont une petite connexion (car ils auraient fait les màj de µ$ (donc passer à IE7) si leur connexion leur permettrait de le faire - je me rappelle que je faisais du 10Mio à l'heure avec le 56k Smiley sweatdrop )
Après ce n'est que mon opinion, mais je pense que ça se tient ^^
Dreamkey a écrit :
Le problème c'est que ce sont exactement les même images pour IE, juste qu'elles sont moins compressées, donc avec un commentaire conditionnel je ne pourrais qu'afficher ces images avec les autres, alors que je voulais les remplacer.
Soit je ne comprends pas quelque chose... soit c'est toi ! Smiley lol

Cette image pour IE6 n'est pas la même que celle-ci.

Donc en mettant ...
<a href="index.php?page=Scolaire">
<!--[if gte IE 7]> <!--> 
<img src="contenu/image/index/scolaires.png" alt="Scolaires" /> 
<!--> <![ endif]--> 
<!--[if lt IE 7]> 
<img src="contenu/image/index_ie/scolaires.png" alt="Scolaires" /> 
<![ endif]--> 
</a>
... tu auras bien une image pour tous les navigateurs et une autre pour les versions d'IE < 7...
Modifié par Heyoan (23 Jan 2010 - 17:39)
Au temps pour moi, je n'avais pas vu le commentaire supplémentaire qui annulait le premier, c'est génial !

Par contre je ne comprends pas que ça marche pour les IE supérieurs au 6, parce que logiquement ils doivent interpréter :
<a href="index.php?page=Scolaire">
<!-->  
<img src="contenu/image/index/scolaires.png" alt="Scolaires" />  
<!-->
</a>
Donc n'afficher aucune image ! (mais je sens l'exception ^^)
Dreamkey a écrit :
Par contre je ne comprends pas que ça marche pour les IE supérieurs au 6
Eh bien il n'y a pas si longtemps j'aurais mis 3 conditions pour faire cela mais Victor m'a expliqué l'astuce dans ce post.

Si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. Smiley cligne
Modifié par Heyoan (24 Jan 2010 - 17:26)
Ok, donc j'ai fait des tests avec IE7, et effectivement pour lui un commentaire s'arrête au chevron fermant. Si je mets dans le body :
<!--><p>test</p><-->
Sous un navigateur normal cela me donnera une page vide, mais avec IE cela me donnera
test
<-->


Je passe de suite le topic en Résolu Smiley cligne