2010-09-02 138 views
1

我想將一個svg文件放入我的cfm頁面。然而,Safari可以正確呈現其他瀏覽器:在Chrome和Opera中,它只會顯示爲xml源;在IE中它只是保持空白;在FF中它顯示爲一個插件圖標,如果我點擊它,它會搜索插件,最終會告訴我沒有插件可用。我在我的機器(客戶機)上安裝了Adobe SVG視圖。我在CFM嵌入SVG文件爲:在cfm問題中顯示.svg圖像

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

#myimagelocation#將包含類似值:http://example.com/a.svg

任何人都知道如何解決這個問題?非常感謝你。

回答

4
<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標籤(圖像png.png)的內內容是SVG圖像的替代表示。可以將它想象成類似於圖像上的替代文本 - 它僅用於不支持SVG的地方。

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

0

這聽起來更像是一個服務器的問題比的ColdFusion。如果用硬編碼文本替換CFM,您是否在非Safari瀏覽器中看到完全相同的問題?

0

如果它在Safari中呈現,您知道HTML正按預期呈現。但是,「按預期」和「正確」可能不是同一回事。無論如何,Jedi自己是對的(假設你沒有用CF生成SVG),ColdFusion不是你問題的一部分。

Opera自從V.8開始就應該支持SVG,所以這就是我關注測試的地方。除了嵌入標籤之外,我會嘗試使用object標籤,因爲Flash嵌入需要(是?)。

IE沒有本地支持,FF的支持是部分支持。我會測試這些,看看在Opera工作後會發生什麼。

0

驗證是否發送了正確的svg mimetype,'type'屬性不夠。還要確保svg根元素聲明瞭svg命名空間,例如xmlns="http://www.w3.org/2000/svg"