5568 sujets

Sémantique web et HTML

Bonjour à tous,
cela fait déjà plusieurs que je cherche à mettre un site que je fais pour un ami aux normes W3C.

C'est un site en flash, et donc j'utilise "swfobject", jusqu'à là, pas "trop" de soucis.

Mon soucis est que, lorsque je met tout en haut de ma page htlm ceci :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">


cela me donne une page toute blanche.

Alors que quand je met juste ça :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >


Ma page apparait.

Quelqu'un aurait une idée du problème ?
Voici les liens :
***

Pour les problèmes de code, j'utilise firebug le plug-in de firefox ainsi que http://validator.w3.org/

Merci de vos réponses
Modifié par awtd (04 Jul 2012 - 16:23)
Oui j'ai lu, mais comme il est marqué, j'utilise le javascript swfobject.
Cependant mon animation marche sous IE7. Mais IE8 ou firecfox non... Juste à cause du DOCTYPE, et je ne comprends pas pourquoi, ou le problème...
D'après Firebug, le code généré par le JavaScript (tel que compris par Firefox) serait:
<object id="flashcontent" width="100%" height="100%"
type="application/x-shockwave-flash" data="steven_schleidt.swf" style="visibility: visible;"/>

Il me semble que ce code est insuffisant (en mode Standard uniquement, pas en mode de compatibilité...) pour afficher une animation Flash dans Firefox, il faut sans doute un élément PARAM indiquant l'animation Flash (comme dans la page indiquée par Laurie-Anne).

Je trouve étonnant que SWFObject ne gère pas ça. Cependant, il me semble qu'il y a quelques problèmes avec Firefox 3 (ou 3.5 uniquement?) et SWFObject 2.2.

Une solution serait peut-être d'utiliser la méthode Static Publishing?
http://code.google.com/p/swfobject/wiki/documentation
Merci pour ta réponse.

J'ai donc éssayé la méthode de publication statique. Ce qui me donne ceci en code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="robots" content="all" />
<link href="css.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="img/favicon.ico" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">

swfobject.embedSWF("***.swf","flashcontent","100%","100%","9","expressInstall.swf","#ffffff");
</script>
<script type="text/javascript">

		so.addParam("quality", "high");
		so.addParam("scale", "noscale");
		so.addParam("width", "100%");
		so.addParam("height", "100%");
		so.addParam("allowscriptaccess", "always");
		so.addVariable("choix_langue", "fr");

	so.write("flashcontent"); 
</script>
</head>
<body>

<div id="flashcontent">
   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
    <param name="movie" value="***.swf" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="***.swf" width="100%" height="100%">
    <!--<![endif]-->
     <p>Alternative content</p>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
   </object>

</div>

</body>
</html>



Et là encore, on peut voir sur le lien
***

avec firefox cela nous donne une page blanche, avec IE 8 mon flash qui doit faire grossomodo 100% x 100px donc un joli bug et avec IE 7 ça marche...

Alors qu'avec ce meme code mais simplement la première ligne qui change :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

<head>

<meta name="robots" content="all" />
<link href="css.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="img/favicon.ico" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">

swfobject.embedSWF("***.swf","flashcontent","100%","100%","9","expressInstall.swf","#ffffff");
</script>
<script type="text/javascript">

		so.addParam("quality", "high");
		so.addParam("scale", "noscale");
		so.addParam("width", "100%");
		so.addParam("height", "100%");
		so.addParam("allowscriptaccess", "always");
		so.addVariable("choix_langue", "fr");

	so.write("flashcontent"); 
</script>
</head>
<body>

<div id="flashcontent">
   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
    <param name="movie" value="***.swf" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="***.swf" width="100%" height="100%">
    <!--<![endif]-->
     <p>Alternative content</p>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
   </object>

</div>

</body>
</html>



donc ceci :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >


au lieu de cela :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">


ma page est visible et fonctionne (sauf que du coup, ma page n'est pas au standart W3C) que l'on voit sur ce lien :
***

Cela me parait vraiment étrange car je trouve des sites full flash validé aux normes W3C qui marche avec les dernières mise à jour des navigators firefox, IE... Smiley bawling
Modifié par awtd (04 Jul 2012 - 16:25)
Ah mais je suis con...

J'avais oublié de vérifier que tu déclarais bien ceci pour ta hauteur de 100% du viewport:
html {
  height: 100%;
}
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

(Ce qui pour moi est tellement un réflexe que je ne pensais pas qu'on puisse l'oublier. Smiley lol )

En l'occurrence tu ne le fais pas, ou plutôt mal. Tu as trop de styles déclarés inutilement pour l'élément html, et il te manque un height:100% sur l'élément body.

En conséquence, ton animation Flash est bien chargée et s'affiche correctement... sur une hauteur de 100% de rien du tout (pas de hauteur spécifiée pour le parent), donc de zéro pixels.
Merci Florent, effectivement j'ai oublié le height : 100% dans mon body.

Encore merci pour ton aide, là ou je nageais dessus depuis bien 3-4 jours...