2014-12-19 165 views
0

我在我的網站上使用svg動畫,但它也必須運行在舊版瀏覽器,它不支持svg。我可以通過重定向到一個靜態頁面來解決這個問題。如何檢查瀏覽器是否支持JavaScript的svg?

但是,它甚至有可能檢測瀏覽器是否支持JavaScript的幫助svg的?

任何幫助,將不勝感激。

+0

你不研究? http://stackoverflow.com/questions/9689310/which-svg-support-detection-method-is-best – epascarello

+0

http://caniuse.com/#search=svg看看資源標籤。 – Christoph

+0

http://stackoverflow.com/questions/654112/how-do-you-detect-support-for-vml-or-svg-in-a-browser –

回答

4

你可以採取一個非常有用的庫的優勢,被稱爲modernizr

包括它只是寫這樣的事情後:

if (!Modernizr.svg) { 
    // svg fallback 
} 
+1

我在我的答案中添加了一些措詞,因爲Modernizr總是一個不錯的選擇。但是,如果他只需要測試SVG,那麼就使用大錘錘釘。 – PlantTheIdea

8

當我構建我的bolster擴充庫的$ .supports()部分時,我做了大量的搜索。這裏是我的定居點:

canSvg = !!(document.createElementNS && document.createElementNS('http://www.w3.org/2000/svg','svg').createSVGRect); 

測試IE8 +,工作得很好。

編輯

@SinaSadrzadeh使一個很好的點,Modernizr的是一個奇妙的資源。如果您還沒有使用Modernizr,我建議您使用Modernizr,但特別是如果SVG不是唯一要測試的東西。如果SVG是你正在測試的唯一東西,那麼引入一個完整的庫不是必需的,但它不允許有很多可擴展性。

+0

這是寫,但你可以定製你想在這裏modernizr包[modernizr下載建設者](http://modernizr.com/download/) – sadrzadehsina

+1

@SinaSadrzadeh - 但如果他只需要測試一個單個項目(這是一個不太可能發生的情況,但仍然)...向我解釋一個單獨的文件如何比我提供的單行JS更快。 – PlantTheIdea

+0

沒關係:),我同意你的意見。這只是modernizr的另一個方面。 – sadrzadehsina

相關問題