flex, swf et firefox
Publié : 19 févr. 2008, 15:05
Je réalise ma homepage en flex ces temps-ci et je suis confronté à un problème.
J'ai voulu rendre valide aux normes W3c le fichier html sortie de FlexBuilder (j'utilise FlexBuilder 2).
J'ai donc modifié pour que cela soit compatible avec Xhtml 1.0 transitional (pour commencer) et j'ai constaté que ma nouvelle page avec la déclaration est lisible sur Safari (je suis sur Mac à la base) et sur IE. Mais que Firefox (2 et même 3 bêta) m'affiche qu'un bandeau de faible hauteur avec des scrolling bars comme si le 100% en height avait disparu et que j'avais 200 pixels en hauteur. Quant à Opera, c'est simple, il n'affiche rien.
En retirant la première balise (celle de la déclaration), tout devient ok sur Firefox et Opera aussi. Par contre, il est clair, sans déclaration, ma page n'est plus du tout valide.
La balise en question:
Action Script
Vous pouvez comparer les 3 résultats (voir code source):
1/ tout est ok pour tous les navigateurs; la page index.html sans la balise de déclaration mais qui ne passe pas la validation (celle que j'ai gardé pour le home page):
http://www.vincenwoo.com
début de l'index.html:
Action Script
2/ avec la 1er balise de déclaration (ça passe le validator w3c). Mais avec Firefox qui m'affiche un bandeau avec scrollbars. Opera affiche un gros blanc. (à tester avec ces 2 navigateurs)à
http://www.vincenwoo.com/index_nofirefox.html
début de l'index.html:
Action Script
3/ juste le code html édité par FlexBuilder 2 brut de coffre. Tous les navigateurs sont ok, par contre rien n'est valide.
http://www.vincenwoo.com/index_flex.html
début de l'index.html:
Action Script
J'avoue avoir fait des tests, mais je n'ai toujours pas résolu ce problème lié à Firefox (et Opera).
J'ai continué mes recherches et j'ai constaté également que vous pouvez mettre la déclaration à condition que la valeur width ne soit pas en pourcentage mais en pixel (en gros, dès qu'il y a 100%, j'ai mon bandeau, dès que je mets une valeur en pixel -800-). Il y aucun problème de ce côté avec la avec la valeur width. Et ça, quelque soit le code.
J'ai parcouru le forum et je sais que les problèmes entre Firefox et Flash ont toujours été courant. Mais en général rien ne s'affiche.
Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/523.12.2 (KHTML, like Gecko) Version/3.0.4 Safari/523.12.2
J'ai voulu rendre valide aux normes W3c le fichier html sortie de FlexBuilder (j'utilise FlexBuilder 2).
J'ai donc modifié pour que cela soit compatible avec Xhtml 1.0 transitional (pour commencer) et j'ai constaté que ma nouvelle page avec la déclaration est lisible sur Safari (je suis sur Mac à la base) et sur IE. Mais que Firefox (2 et même 3 bêta) m'affiche qu'un bandeau de faible hauteur avec des scrolling bars comme si le 100% en height avait disparu et que j'avais 200 pixels en hauteur. Quant à Opera, c'est simple, il n'affiche rien.
En retirant la première balise (celle de la déclaration), tout devient ok sur Firefox et Opera aussi. Par contre, il est clair, sans déclaration, ma page n'est plus du tout valide.
La balise en question:
Action Script
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Vous pouvez comparer les 3 résultats (voir code source):
1/ tout est ok pour tous les navigateurs; la page index.html sans la balise de déclaration mais qui ne passe pas la validation (celle que j'ai gardé pour le home page):
http://www.vincenwoo.com
début de l'index.html:
Action Script
Code : Tout sélectionner
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
// etc....
2/ avec la 1er balise de déclaration (ça passe le validator w3c). Mais avec Firefox qui m'affiche un bandeau avec scrollbars. Opera affiche un gros blanc. (à tester avec ces 2 navigateurs)à
http://www.vincenwoo.com/index_nofirefox.html
début de l'index.html:
Action Script
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
// etc....
http://www.vincenwoo.com/index_flex.html
début de l'index.html:
Action Script
Code : Tout sélectionner
<!-- saved from url=(0014)about:internet -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
// etc....
J'ai continué mes recherches et j'ai constaté également que vous pouvez mettre la déclaration à condition que la valeur width ne soit pas en pourcentage mais en pixel (en gros, dès qu'il y a 100%, j'ai mon bandeau, dès que je mets une valeur en pixel -800-). Il y aucun problème de ce côté avec la avec la valeur width. Et ça, quelque soit le code.
J'ai parcouru le forum et je sais que les problèmes entre Firefox et Flash ont toujours été courant. Mais en général rien ne s'affiche.
Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/523.12.2 (KHTML, like Gecko) Version/3.0.4 Safari/523.12.2