0
<object type="image/svg+xml" data="/images/ampersand.svg"></object>
<object type="image/png" data="/images/ampersand.png"></object>

基本上,使用 jQuery,对于不支持 svg 的浏览器,我想将 .SVG 之一更改为 .PNG (我将使用 modenizr 来检测)。

我尝试了很多不同的方法,但没有任何乐趣。

任何帮助,将不胜感激。

4

2 回答 2

2

尝试

$(document).ready(function () {
    function supportsSvg() {
        return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Shape", "1.0");
    }
    if (!supportsSvg()) {
        $('object[type="image/svg+xml"]').prop('type', 'image/png').prop('data', function (_, old) {
            return old.replace('.svg', '.png');
        });
    }
});


准备好在 DOM 中包装代码

http://learn.jquery.com/using-jquery-core/document-ready/

http://api.jquery.com/ready/

于 2013-11-09T13:28:22.087 回答
1

今天我了解了这个(恕我直言真的很棒)仅 HTML 的解决方案。完美地在 IE 6 中提供后备:

<object data="/images/ampersand.svg">
  <img src="/images/ampersand.png">
</object>
于 2013-11-09T15:52:22.010 回答