2014-12-07 55 views
3

我试图让这个简单的代码工作: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中,当我打开页面(证明文件链接是正确的)时,它会下载文件。

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

回答

5

我能想到的四种可能性:

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

  2. 你到别的地方保存SVG文件,它根本不存在icons/chrome.svg。 (尝试直接导航到图标/ chrome.svg上的SVG文件,它是否显示在浏览器中?)

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

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

+0

感谢您的回复。我认为这个问题是#1。虽然.htaccess文件不起作用,但我可以通过将它放在根目录下的web.config文件中,让我的服务器显示SVG: <除去fileExtension = “SVG”/> '对于参考我使用Godaddy托管。我现在有一个问题,链接不工作,但我正在调查。 – vee 2014-12-09 00:13:25