使用jQuery和Modernizr有条件地改变mime类型

时间:2013-11-09 13:25:36

标签: jquery object svg mime-types modernizr

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

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

我尝试了许多不同的方式而没有快乐。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分: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 ready

中包装代码

阅读

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

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

答案 1 :(得分:1)

今天我了解了this (IMHO truly awesome) HTML only solution。完美地工作以在IE 6中提供后备:

<object data="/images/ampersand.svg">
  <img src="/images/ampersand.png">
</object>