2009-09-15 99 views
16

有人知道一個全面的庫,使SVG與IE(特別是7和8)工作?如何使IE與SVG協同工作?

我想要一些Javascript,它可以被包含在我的網頁中,並且會以類似於Excanvas對Canvas所做的一切的方式將我的所有SVG靜默轉換爲VML。

回答

15

Raphaël—JavaScript Library可以幫助你。

Raphaël使用SVG W3C Recommendation和VML作爲創建圖形的基礎,並支持Firefox 3.0+,Safari 3.0+,Opera 9.5+和Internet Explorer 6.0+。

編輯:

還有兩個JS-庫,供使用VML呈現svgs在IE中:

  • Ample SDK(這裏應該可以很容易地集成現有的SVG文件)
  • DojoX GFX來自Dojo Toolkit
+3

你可以用這個庫打開一個svg嗎? – Milhous 2009-09-15 17:31:16

+1

不是。的couse只支持svg/vml的一個子集,所以你不能真正地使用svg文件並在raphael中「打開」它。但路徑synatax是一樣的,所以基本上你必須將svg的所有路徑複製到你的javascript代碼中(或者寫一些爲你自動執行的操作)。我認爲大多數人只是將他們(簡化的)從inkscape或其他編輯器的路徑複製到raphael代碼中 – 2009-09-16 14:16:15

6

我認爲SVGWeb即使它是基於Flash的,因爲VML對於很多應用程序而言足夠快。

15

Google's SVG Web這樣做。據該項目網站:

SVG Web是一個JavaScript庫,它 提供了許多瀏覽器支持SVG, 包括Internet Explorer,火狐, 和Safari。使用庫加 本機SVG支持,您可以立即 目標〜95%的現有安裝 網頁基地。

雖然它被描述爲一個JavaScript庫,但它也需要Flash 9+。這通常不是一個問題,但如果您在工作站上使用舊版Flash或無Flash的公司環境中,則無法工作。

此外,它仍然在阿爾法這可能是一個問題,取決於你的項目是什麼。

+1

-1(哲學上,不是字面意義上的)基於Flash的解決方案。 Flash是一種專有的廠商技術。 – 2009-09-15 13:16:19

+11

IE也是。它僅適用於Flash,成爲* open * IE的解決方案。 – voyager 2009-09-15 13:23:33

+0

這仍然是阿爾法階段。 – 2009-09-15 14:40:03

2

Adob​​e提供腳本來自動檢測,安裝,並重定向你回到你原來的網站:

http://support.adobe.com/devsup/devsup.nsf/docs/51780.htm

http://www.adobe.com/svg/workflow/autoinstall.html

我一直在使用這個相當成功地在我的網站。

+4

Adob​​e的'svg'實現不再被開發。 – voyager 2009-09-15 13:24:13

+0

事實上,我認爲他們早在IE 8發佈之前就停止開發它。如果它適用於IE 8,那只是運氣。 – 2009-09-15 13:51:43

+0

它在IE8中工作。我已經測試過它。他們仍然支持它作爲傳統下載。 – 2009-09-15 14:12:54

0

更低科技的解決方案是使用像svg_alike(在這裏插入利益衝突通知:))。它檢查SVG支持,如果它沒有找到它,它會用PNG替換所有的SVG圖像。

https://github.com/forwardadvance/svg_alike

你失去平穩矢量縮放,並支持視網膜的優勢,但IE8的用戶不太可能利用這些功能呢。

好處是您不必將圖像轉換爲JavaScript。我認爲它爲5%的工作提供了80%的價值。