JeuWeb - Crée ton jeu par navigateur

Version complète : Problème SVG
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3 4
Ça dépend des navigateurs. Mais déjà, il faut que le serveur rende la page avec Content-Type application/xhtml+xml.


Sephi-Chan
Le navigateur que j'utilise est Mozilla donc le SVG fonctionne. J'ai oublié de précisé que j'avais testé ma carte avec un fichier externe et ca fonctionnait.

Je change le Content-type pour voir.
Aucun changement. Voici le nouveau code d'entête :
Code PHP :
<?php 
<!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"
xmlns:svg="http://www.w3.org/2000/svg">
<
head>
<
meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
C'est le serveur qui doit rendre la page avec ce Content-Type. Ce qui est indiqué dans les balises meta ne fait foi que si la page est consultée hors-connexion.


<?php header('Content-Type: application/xhtml+xml'); ?>
<!-- Entête de la page du moins la partie interessante -->
<!-- Code PHP avant -->
<!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"
xmlnsConfusedvg="http://www.w3.org/2000/svg">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
<!-- Contenu de la page après -->

Par contre, dès lors que tu utiliseras ça, tu devras faire très attention au contenu HTML que tu génères, ce devra être un document XML parfait sous peine de causer une erreur d'interprétation.


Sephi-Chan
J'ai eu un changement. Les accents n'étaient pas connus. Je les ai donc codés mais maintenant j'ai une erreur :
Code :
Erreur d'analyse XML : mal formé
Emplacement : http://localhost/jeu.php
Numéro de ligne 46, Colonne 6 :
            </?iv>
--------------------------^

A la Ligne 46, Colonne 6 il y a tout simplement une balise </div>
Je vous met le morceau de code en question :
Code :
            <div class="gauche">

                <div class="conteneur" style="margin-right : 0px;">
                </div>
            </div>
La balise qui ne fonctionne pas est a la dernière ligne de ce morceau de code. Le morceau de code est strictement comme ca dans mon fichier. Le div conteneur est pour le moment vide.[/code]
Parce que ton document est mal formé, ce n'est pas du XML valide. Smile
Colle la page rendue entièrement sur http://jeuweb.pastebin.com/, qu'on voit ce qui cloche.
Tu peux aussi tester en copiant le code rendu sur http://validator.w3.org/.


Sephi-Chan
Voila mon morceau de code sans modification avec le contenu PHP , HTML et CSS.
Au contraire, c'est la page HTML que tout ça t'a généré qu'il nous faut. Smile
Petite suggestion pour la partie PHP de ton document : http://jeuweb.pastebin.com/GTaLerkB (le code expirera le 9 juillet 2010). Ça évite d'être hyper redondant.


Sephi-Chan
En vrac :
  • Tu n'as pas terminé l'entité HTML &copy; (tu as oublié le Wink ;
  • Tu dois définir des attributs alt (même vide) à tes balises img ;
  • Tes attributs d'événements Javascript doivent être entièrement en minuscules (pas de camelCase genre OnKeyUp) ;
  • Il faut virer la balise <center> ;

Bref, il faut rendre ton document valide avec le validateur du W3C http://validator.w3.org/.

Si tout ça ne fonctionne pas, il faudra tenter d'utiliser le namespace svg que tu as défini dans la balise html (pourquoi ne pas l'avoir utilisé puisque tu l'as défini ?) pour les éléments SVG. Il suffit de préfixer toutes les balises (ouvrantes et fermantes) liées à SVG, par exemple <svgConfusedvg version="1.1" .... ></svgConfusedvg>, etc.


Sephi-Chan
Pages : 1 2 3 4