2014-12-07 85 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