我正在尝试使用这个简单的代码:
<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中,它会在我打开页面时下载文件(证明文件链接正确)。
任何人都知道这里发生了什么?
答案 0 :(得分:6)
我可以想到四种可能性:
您的服务器使用错误的MIME类型进行SVG图像。 (可以通过将AddType image/svg+xml svg
添加到.htaccess文件来修复; other methods discussed here)
您已将SVG文件保存在其他位置,并且它在icons/chrome.svg
处不存在。 (尝试直接导航到图标/ chrome.svg的SVG文件。它是否显示在浏览器中?)
您保存的文件权限不足,导致您的网络服务器无法访问该文件。 (可以通过导航到icons
目录并在命令行提示符下键入chmod 0644 chrome.svg
来修复。)
您从nocookie.net下载的文件根本不是SVG文件。 (尝试在文本编辑器中打开它。)
答案 1 :(得分:0)
我遇到了@ r3mainer描述的第一个问题。
在我的lighttpd服务器上,问题是由丢失引起的
pack()
lighttpd配置文件label = tk.Label(frame1)
label.place(relx=0.1, rely=0.1)
部分中的行。