2010-09-02 14 views
1

Il y a un fichier svg que je veux mettre dans ma page cfm. Safari peut le rendre correctement, cependant, d'autres navigateurs: Dans Chrome et Opera, il apparaîtra uniquement en tant que source xml; Dans IE, il est juste laissé vide; En FF il s'affiche sous la forme d'une icône de plugin, si je clique dessus, il cherchera le plugin, finira par me dire qu'il n'y a pas de plugin disponible. J'ai vu Adobe SVG installé sur ma machine (machine client). J'EMBEDDED le fichier svg cfm comme:Afficher l'image .svg dans le problème cfm

<embed src="#myimagelocation#" type="image/svg+xml" width="32" height="32"></embed> 

#myimagelocation# contiendrait la valeur comme: http://example.com/a.svg.

Quelqu'un sait comment résoudre le problème? Merci beaucoup.

Répondre

4
<object data="image-svg.svg" type="image/svg+xml" height="48" width="48"> 
    <img src="image-png.png" height="48" width="48" alt="this is a PNG" /> 
</object> 

Lorsque les teneurs internes de la balise object (image png.png) est une autre représentation de l'image SVG. Pensez-y comme un texte alt sur une image - c'est seulement utilisé où SVG n'est pas supporté.

De How to Include Scalable Vector Graphics (SVG) In-line

0

Cela ressemble plus à un problème de serveur que ColdFusion. Si vous remplacez le CFM par du texte codé en dur, voyez-vous le même problème dans les navigateurs autres que Safari?

0

S'il s'affiche dans Safari, vous savez que le code HTML est rendu comme prévu. Cependant, "comme prévu" et "correct" peut ne pas être la même chose. Peu importe, le Jedi lui-même a raison (en supposant que vous ne générez pas le SVG avec CF) alors ColdFusion ne fait pas partie de votre problème.

Opera est supposé prendre en charge SVG prêtes à l'emploi depuis la version 8, c'est donc là que je me concentrerais pour tester. J'essayerais l'étiquette d'objet en plus de la balise embed, comme cela est (était?) Requis pour les incorporations Flash.

IE n'a aucun support natif, et le support de FF est partiel. Je les testerais et verrais ce qui se passe après avoir fait fonctionner Opera.

0

Vérifiez que le bon type de svg est envoyé, un attribut 'type' n'est pas suffisant. Assurez-vous également que l'élément svg root déclare l'espace de noms svg, par exemple xmlns="http://www.w3.org/2000/svg".