SVG不会显示

时间:2014-12-07 01:41:11

标签: google-chrome svg

我正在尝试使用这个简单的代码:

<a href="#" target="_blank" style="display: inline-block;">
    <object data="icons/chrome.svg" type="image/svg+xml" style="pointer-events: none;">
        fallback text
    </object>
</a>

当我使用

data="http://images3.wikia.nocookie.net/__cb20120330024139/logopedia/images/d/d7/Google_Chrome_logo_2011.svg" 

它有效。但是,当我将该确切文件保存到我自己的服务器上并如上所述引用它时,它只显示Firefox中的后备文本。在Chrome中,它会在我打开页面时下载文件(证明文件链接正确)。

任何人都知道这里发生了什么?

2 个答案:

答案 0 :(得分:6)

我可以想到四种可能性:

  1. 您的服务器使用错误的MIME类型进行SVG图像。 (可以通过将AddType image/svg+xml svg添加到.htaccess文件来修复; other methods discussed here

  2. 您已将SVG文件保存在其他位置,并且它在icons/chrome.svg处不存在。 (尝试直接导航到图标/ chrome.svg的SVG文件。它是否显示在浏览器中?)

  3. 您保存的文件权限不足,导致您的网络服务器无法访问该文件。 (可以通过导航到icons目录并在命令行提示符下键入chmod 0644 chrome.svg来修复。)

  4. 您从nocookie.net下载的文件根本不是SVG文件。 (尝试在文本编辑器中打开它。)

答案 1 :(得分:0)

我遇到了@ r3mainer描述的第一个问题。

在我的lighttpd服务器上,问题是由丢失引起的

pack()
lighttpd配置文件label = tk.Label(frame1) label.place(relx=0.1, rely=0.1) 部分中的

行。