2014-12-19 113 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

相关问题