微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用JavaScript获取SVG图像的XML?

我的目标是在JavaScript中加载SVG图像,并将其作为图像和底层SVG XML.

我可以加载像…

var myImage = new Image();
myImage.src = "cat.svg";

现在有了图像后,如何访问组成SVG图像的基础XML?

我提出的唯一解决方案是通过ajax再次加载它:

$(myImage).one("load", function(){
    $.ajax({
        url :       "cat.svg",
        cache :     true, 
        dataType :  "xml"
    }).fail(function( jqXHR, textStatus, errorThrown ) {
        console.error("Ajax failure loading image.");
    }).done(function( data, textStatus, jqXHR ){
        console.log("Got the image's SVG XML:", $(data).find('svg'));
    });
});

但我觉得可能有更好的方法来做到这一点.

解决方法:

无法从Image对象中提取图像源.

您的问题中包含的AJAX解决方案是获取源的唯一方法.

如果您只想加载一次图像,那么也许您可以先使用AJAX获取它,然后使用获取的XML渲染图像(例如,将文档添加为内联SVG,或将源设置为data: or Blob URL).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。