J'essaie de créer du contenu html / svg mixte et d'avoir des problèmes. Le contenu HTML apparaît comme prévu, mais le SVG inline ne le fait pas. Donc, je fais des expériences. P>
Je trouve des sites qui ont des exemples de SVG en ligne, et ils rendent correctement sur mon système. Donc, i "Afficher la source de page" et copier / coller le HTML / SVG dans un autre fichier local et ouvrez ce fichier dans Firefox. Aucun SVG inline n'est visible. P>
J'ai également essayé la même expérience avec chrome, mêmes résultats. P>
Que pourrais-je manquer? P>
Quoi qu'il en soit, merci à tous ceux qui ont répondu. La meilleure solution était de définir la réponse.Contenttype; Cela me permet de continuer avec l'approche WebForms pour l'instant. P>
J'avais envisagé de faire du contenu pur xhtml dans des fichiers .xml et d'utiliser ASP.NET MVC pour servir ce contenu. Je peux finir par faire cela à l'avenir. P>
Maintenant, en avant avec JQuery, SVG et faire quelque chose. P>
Merci pour toute l'aide. P>
Légère changement d'identité de ma part: K Montgomery -> Kmontgom sur l'utilisation d'OpenID. P>
7 Réponses :
Assurez-vous de nommer le fichier ".xml" non ".html" p>
Merci! Ça marche. Maintenant, la prochaine question est de savoir comment créer ASP.NET génère un fichier .xml au lieu de .htm ou .html
'Maquette je ne connais pas la réponse à celle-là
K Montgomery, je suppose que vous pouvez définir une en-tête de type MIME, voir ma réponse pour plus de détails.
Merci pour ce conseil. J'ai passé toute une journée à essayer de faire ce travail. Même la définition d'un méta contenu = Application / XHTML + XML n'a pas fonctionné.
Voici quelques informations supplémentaires à ce sujet. Il y a un différend si le fichier est ouvert localement ou s'il est servi. wiki.svg.org/inline_svg#chooser_a_filename_extension
Pour que l'inline SVG soit affichée dans les navigateurs, la page doit être valide XHTML et doit être servie avec Il est également possible de tirer également de l'inline SVG de la page HTML, voir un exemple d'un SVG TIGER Image pouvant également être consultée dans Internet Explorer (5.5+) P>
ASP.NET Exemple: intervention.ContentType = "Application / XHTML + XML" code>
Notez que cela ne devrait pas être un problème dans les futures versions de Firefox. Voir hsivonen.iki.fi/test-html5-parsing
Pour référence, voici une simple page indiquant XHTML + multiple svg + js: phrogz.net/svg/convert_path_to_polygon.xhtml
Comme Greg dit, il doit être un fichier que Firefox reconnaît sous forme de fichier XHTML, pas seulement HTML régulier, ce qui est ce que le changement de renommage accompli. Afin de recevoir cela à partir d'une application côté serveur, vous devez définir la touche code> de la réponse de la réponse sur code> Application / XHTML + XML code>. P>
Une alternative si vous ne voulez pas faire XHTML, c'est à base64 coder les données SVG.
E.g. P>
<object type="image/svg+xml" data="data:image/svg+xml;base64,PCFET0NUWVBFI...etc..."></object>
C'est un mécanisme intéressant, mais limité (surtout en raison du support de navigateur incohérent). Quelques informations supplémentaires ici: en.wikipedia.org/wiki/data_uri_scheme
Comme d'autres notent, tant que vous utilisez XHTML et que vos espaces de noms sont corrects, vous pouvez simplement utiliser la balise
Merci Luís, c'est réparé maintenant.
Si vous générez de manière dynamique le SVG à l'aide de JavaScript, cela fonctionne en ligne. Au lieu de: vous écrivez: p> Ce n'est pas idéal mais il semble fonctionner. P> P>
Pour les personnes ayant ce problème avec ASP.NET, changez le DOCTYPE en HTML5 et Type de contenu à l'application / XHTML + XML, je l'ai essayé sur IE9, FF 3.6 et Chrome 13:
protected void Page_Load(object sender, EventArgs e) { this.Response.ContentType = "application/xhtml+xml"; }