javascript - 检查浏览器是否支持 SVG

标签 javascript html svg

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

一些论坛建议我添加 modernizer。但是,我对添加它不感兴趣,因为它很重,而且我认为这个小任务不需要它。

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

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

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

最佳答案

试试这个,

示例 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";
}

关于javascript - 检查浏览器是否支持 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35334649/

相关文章:

javascript - 如何捕获异步代理/反射陷阱中的错误

javascript - 正则表达式中的否定

javascript - React Native - 专注于下一个 TextInput 字段

html - 图像不会 float 到列中

svg - 如何访问 G. Raphael 折线图中的单个线条并为其设置样式

javascript - 如果 DOM 元素包含一个类,我如何检查 JavaScript?

javascript - insertEmbed quill editor时为图像添加onclick属性

MySQL:在字段(正则表达式)中查找所有带有空 anchor 标记的记录并将其删除

css - 控制动画 SVG 中元素的重新绘制

javascript - document.getElementById 在将 svg 移动到对象标记中时导致 null