【问题标题】:Display .svg image in cfm problem在 cfm 问题中显示 .svg 图像
【发布时间】:2011-04-07 11:37:30
【问题描述】:

我想将一个 svg 文件放入我的 cfm 页面。 Safari 可以正确呈现它,但是,其他浏览器:在 Chrome 和 Opera 中,它只会显示为 xml 源;在 IE 中它只是留为空白;在FF中它显示为一个插件图标,如果我点击它,它会搜索插件,最终会告诉我没有可用的插件。我的机器(客户端机器)上安装了 Adob​​e SVG 视图。我将 svg 文件嵌入到 cfm 中:

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

#myimagelocation# 将包含如下值:http://example.com/a.svg

有人知道如何解决这个问题吗?非常感谢。

【问题讨论】:

    标签: html image browser coldfusion svg


    【解决方案1】:
    <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>
    

    object 标签 (image-png.png) 的内部内容是 SVG 图像的替代表示。将其想象为类似于图像上的 alt-text —— 它仅用于不支持 SVG 的情况。

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

    【讨论】:

      【解决方案2】:

      这听起来更像是服务器问题,而不是 ColdFusion。如果您将 CFM 替换为硬编码文本,您是否在非 Safari 浏览器中看到完全相同的问题?

      【讨论】:

        【解决方案3】:

        如果它在 Safari 中呈现,您就知道 HTML 正在按预期呈现。但是,“按预期”和“正确”可能不是一回事。无论如何,Jedi 本人是对的(假设您没有使用 CF 生成 SVG)然后 ColdFusion 不是您的问题的一部分。

        Opera 应该从 V.8 开始就支持开箱即用的 SVG,所以我将重点关注这一点进行测试。除了嵌入标签之外,我还会尝试对象标签,因为 Flash 嵌入需要(曾经?)。

        IE 没有原生支持,FF 的支持是部分的。我会测试这些,看看让 Opera 工作后会发生什么。

        【讨论】:

          【解决方案4】:

          验证是否发送了正确的 svg mimetype,'type' 属性是不够的。还要确保 svg 根元素声明了 svg 命名空间,例如 xmlns="http://www.w3.org/2000/svg"

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-07-16
            • 2015-09-26
            • 2011-03-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-09
            • 2011-09-28
            相关资源
            最近更新 更多