【问题标题】:SVG + PHP + JavascriptSVG + PHP + Javascript
【发布时间】:2012-09-22 11:34:46
【问题描述】:

我正在尝试创建一个 PHP 生成的 SVG,但我一直坚持显示一个带有 Javascript 的 SVG 文件。 javascript是一个平移和缩放功能。

代码是:

<? 
header("Content-Type: image/svg+xml");
?>

    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
    <script xlink:href="SVGPan.js"/>
    <g id="viewport" transform="translate(200,200)">
    <polygon points="50,125 100,100 150,125 100,150" fill="green" stroke="black" stroke-width="1" />
    </g>
    </svg>

在 Internet Explorer 中打开时,我可以平移,但无法缩放。

在谷歌浏览器中打开它时,我的脚本运行正常,它显示,我可以缩放和平移,但我收到一条错误消息

第 10 行第 1 列的错误:文档末尾的额外内容

我在 google 和 stackoverflow 上搜索过,但找不到解决方案。

你能帮我解决这个问题吗?

【问题讨论】:

  • 抱歉,我不熟悉悬挂的换行符。和\n一样吗?
  • @Jack 文档结尾后的换行符在 XML 中很好,所以不可能。
  • @user1712197 你的代码在phihag.de/2012/so/so-svg 对我来说很好,在 Linux 上使用 Chromium 21。您使用的是哪个版本的 Chrome,您是否在 demo page 处收到相同的错误?
  • 我想我找到了它的原因。我在免费虚拟主机上运行,​​看到免费虚拟主机在脚本末尾添加了一个代码:
  • 尝试使用更好的主机,例如 Heroku 或 Phpfog。此外,您可能想要解决您的脚本使用 PHP 短标签 ( ?>) 的事实。这可能会导致基于 XML 的格式(例如 svg)出现问题,并且如果 Web 服务器关闭了短标签,则将无法正常工作。

标签: php javascript svg


【解决方案1】:

我看到您正在添加分析代码,这导致文件末尾有额外的输出。通常,即使免费主机在使用正确的 MIME 类型提供服务时也不会将其放在文件中。您可能需要询问他们的支持如何让 image/svg+xml mime 类型像 text/javascript mime 类型一样提供服务(即不添加分析代码)。我从未使用过它们,但 cPanel 和其他流行的管理系统允许您管理 MIME 类型,原因有很多,包括这个。

【讨论】:

    猜你喜欢
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多