SVG在不同浏览器中显示错误

时间:2011-01-03 17:40:39

标签: php xml svg

在我的服务器上,我在php中进行了远程XSLT转换:

$command = $java . $saxon . $target2 . ' ' . $xsl2.' '.$param;

passthru($command, $result);

$ target2是输入的SVG文件,$ xsl2是样式表,saxon是saxon8.jar文件,我用几个broswers测试过它。

在谷歌浏览器中,一切都很完美,SVG图表显示正确。

但是,我尝试在Firefox中做同样的事情(应该支持SVG图),没有显示SVG图,但只显示了SVG图的实际代码。我使用“viewsource”查看firefox中生成的SVG的第一行和最后几行,它读作:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<!--  Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build  14948)  --> 
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"  
 .......
</svg>

我尝试使用FireBug进行调试,并显示html个标记,并显示headbody标记,是说我用HTML填充了我的SVG?

我有点被困在这里,先谢谢你们的帮助!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

Kevin的答案在PHP中运行良好,但在PHP解释器启动之前,它可以在服务器端没有PHP的帮助下实现。
这里以Apache的httpd.conf / .htaccess为例,取自HTML5BoilerPlate的Apache HTTP server boilerplate

# ------------------------------------------------------------------------------
# | Proper MIME types for all files                                            |
# ------------------------------------------------------------------------------

# Extension may be specified w or w/o leading dot
# http://httpd.apache.org/docs/current/mod/directive-dict.html#Syntax

<IfModule mod_mime.c>
  # SVG
  #   Required for svg webfonts on iPad
  #   twitter.com/FontSquirrel/status/14855840545
  AddType image/svg+xml                       svg svgz
  AddEncoding gzip                            svgz
</IfModule>