Кто-то уже спросил мой вопрос об обнаружении поддержки SVG в браузерах, но есть три ведущих решения, а не много обсуждений по достоинству каждого из них.
Итак: что, если вообще, лучше? Что касается переносимости и правильности, то есть. Ложные негативы (т.е. "Нет svg" ) нежелательны, но приемлемы; ложных срабатываний нет.
Иллюстрация A:
var testImg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D';
var img = document.createElement('img')
img.setAttribute('src',testImg);
return img.complete;
Иллюстрация B:
return document.implementation.hasFeature(
"http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1");
Иллюстрация C:
return !! document.createElementNS &&
!! document.createElementNS (
'http://www.w3.org/2000/svg',
"svg")
.createSVGRect;