【问题标题】:load compressed svg with Snap SVG使用 Snap SVG 加载压缩的 svg
【发布时间】:2014-08-20 15:10:29
【问题描述】:

我有:

Snap.load(src, function(f){im = canvas.canvasSvg.g(f.select('*'));});

变量 src 保存指向 svg 文件的方向(如:“resources/foo.svg”)。 我需要将加载的 svg 放在一个组中,以便以后正确访问它。这工作得很好。

现在,我想使用压缩的 svg 格式 (svgz)。但是当 src 指向一个 svgz 文件时,(“resources/foo.svgz”),我得到以下错误:

Resource interpreted as Image but transferred with MIME type application/x-gzip: "http://localhost:8888/web/resources/foo.svgz".

这是为什么?以及如何将压缩的 foo.svgz 加载到 Snap 中?谢谢!

【问题讨论】:

    标签: svg snap.svg


    【解决方案1】:

    如果此文件来自网络服务器,您需要保留 mime 类型,即保留为 image/svg+xml,而是将 Content-Encoding 更改为 gzip

    如果它是一个本地文件,那么你就不走运了,因为没有办法向 UA 表明它是什么,除非 UA 本身识别它并且大多数人不识别它。

    【讨论】:

    • 谢谢。该文件将位于 Web 服务器中,但与加载它的页面位于同一个服务器上,基本上是同一个文件夹。您的两个选项中会属于哪一个?
    • 第一次是关于网络服务器的。
    • 听起来很有希望!我没有做任何特别的事情,我知道,使用哑剧类型。我应该在我的代码中哪里寻找问题? php文件中的标题? php 上传处理程序(那将是来自 jquery 上传程序的处理程序)?
    • 我在我的开发环境中使用 MAMP。投入生产时是 apache。
    • 您必须阅读如何在这些环境中设置 mime 类型和内容编码。
    猜你喜欢
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多