Использую ли я <img>, <object>или <embed>для файлов SVG? - PullRequest
537 голосов
/ 18 декабря 2010

Должен ли я использовать <img>, <object> или <embed> для загрузки файлов SVG на страницу способом, аналогичным загрузке jpg, gif или png?

Какой код у каждого, чтобы он работал как можно лучше? (я вижу ссылки на включение mimetype или указание на резервные SVG-рендеры в моем исследовании и не вижу хорошего эталона).

Предположим, что я проверяю поддержку SVG с Modernizr и откатываюсь (вероятно, делая замену простым тегом <img>) для браузеров, не поддерживающих SVG.

Ответы [ 11 ]

0 голосов
/ 25 мая 2017

Эта функция jQuery фиксирует все ошибки в изображениях SVG и заменяет расширение файла альтернативным расширением

Пожалуйста, откройте консоль, чтобы увидеть ошибку при загрузке изображения SVG

(function($){
  $('img').on('error', function(){
    var image = $(this).attr('src');
    if ( /(\.svg)$/i.test( image )) {
      $(this).attr('src', image.replace('.svg', '.png'));
    }
  })  
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<img src="https://jsfiddle.net/img/logo.svg">
...