首页 > 解决方案 > 如果它在 svg 中,如何在 JS 中获取 img src?

问题描述

我正在创建在线应用程序,我想在 js 中弄清楚我有什么图像来源 - png 或 svg。

我正在创建 img 标签:

            var url; //url to icon without extension, like `/img/icon`

            var img = new Image();

            img.crossOrigin = 'Anonymous';
            img.onload = function () {

                //Here I want to know if src was png or svg
            };

            img.onerror = function () {


            };

            img.src = url;

如果 svg 可用,则服务器为 url 提供 svg,如果 svg 不可用,则为 png。

当提供 svg 时,我可以在网络选项卡中看到,因此也应该有一种方法可以在 js 中获取此信息。或者至少要了解该图像是 svg 格式的服务器。

在此处输入图像描述

我如何知道在图像的 onload 事件中收到的源格式是什么?

标签: javascript

解决方案


您可以通过引用获取 src onLoad。然后拆分字符串并在末尾查找 svg 。

<img 
  src='www.awesomesite.com/awesomeImage.svg'
  ref={el => this.imageRef = el}
  onLoad={() => console.log(this.imageRef.src) }
/>

推荐阅读