可靠地检测<img>标签对SVG的支持

mlu*_*udd 12 javascript jquery svg image browser-feature-detection

目前,我正在做一个网站的一些重新设计,基本上只是它升级到更先进的最新外观和试图使其尽可能独立的分辨率,分辨率独立的名字,我想我会尝试使用设计中的SVG图像,浏览器支持<img>标签中的SVG图像.我之所以坚持只在<img>标签中使用SVG 而不是使用一些更加雄心勃勃的解决方案的原因是AFAIK Chrome,Opera和Safari都支持它,而FF4似乎最终可以得到它以及整个网站的事实构建在自定义CMS上,必须部分重写才能开始更改输出HTML(目前它支持自定义设计图像,自定义CSS和每个主题的自定义JS包含).

现在,我已经看了看四周的净有点自己试图找出这样做的最佳途径,由于某种原因,几乎每一个建议的解决方案,我发现了不良工作(一个检测FF3.x在支持SVG <img>标签等等他们没有在那里正确显示,另一个从未尝试过,有些过于复杂"用SVG替换所有图像,如果有支持它"的功能也不会很好.

我正在寻找的是一个可以像这样被调用的小片段(顺便说一下,我正在使用JQuery和这个网站的新主题):

if(SVGSupported()) {
    $('#header img#logo').attr('src','themes/newTheme/logo.svg');
    /* More specified image replacements for CSS and HTML here */
}
Run Code Online (Sandbox Code Playgroud)

有没有人真的有一个工作解决方案,不会给出不准确的输出?如果是这样,我会非常感激.

Wit*_*iko 4

这似乎是最终的答案:Javascript: How can I Late returned a value for img.complete。除非有人想出一些立即产生正确结果的方法。