检查浏览器是否支持SVG

时间:2016-02-11 08:53:00

标签: javascript html svg

我想检查浏览器是否不支持 SVG 。如果是的话,我想在body中添加一个类,比如正文中的 noSvg

有些论坛建议我添加现代化器。但是,我没有兴趣添加它,因为它很重,我不认为它需要这个小任务。

其他一些论坛建议我在javascript下面使用

function supportsSVG(){
 return !!('createElementNS' in document &&
   document.createElementNS('http://www.w3.org/2000/svg','svg').createSVGRect)
}

我试过这个并调用了这个函数。但是,我不明白什么是真的发生了。 任何建议将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:2)

试试这个,

示例1:

if (typeof SVGRect != "undefined") { 
 /* If the browser does support SVG. */ 
} else { 
 /* If the browser does not support SVG. */ 
 var bodyElement = document.getElementsByTagName("body")[0];
 bodyElement.className += " noSvg";
}

示例2:(现代化检查SVG的方式)

if(!document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1')){
  var bodyElement = document.getElementsByTagName("body")[0];
  bodyElement.className += " noSvg";
}

答案 1 :(得分:0)

这是一个较短的功能,基于SVGRect function

的存在
function supportsSVG() {
    return typeof SVGRect === 'function';
}