首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE toDataUrl()安全错误

IE toDataUrl()安全错误
EN

Stack Overflow用户
提问于 2014-06-26 18:39:56
回答 2查看 5.2K关注 0票数 3

我需要从画布获取我的图片,所以我从亚马逊S3获取我的图片,我在那里启用了跨域资源共享(CORS),并将匿名属性设置为img,它在Chrome和FireFox上工作得很好,但在IE上,我通过调用toDataUrl方法得到了一个安全错误。

那么我该如何修复它呢?我甚至看不到有关此安全错误的详细信息。

EN

回答 2

Stack Overflow用户

发布于 2017-11-09 14:35:14

我通过使用fabric js修复了IE 11中的这个安全错误。由npm安装fabric或CDN。

代码语言:javascript
复制
     var fabriclib = require("fabric");
     var svg = document.querySelector('svg');
     var width = $('#chart-container').find('svg').width();
     var height = $('#chart-container').find('svg').height();
     var DOMURL = window.URL || window.webkitURL || window;
     var data = (new XMLSerializer()).serializeToString(svg);
     data = data.replace(/xmlns=\"http:\/\/www\.w3\.org\/2000\/svg\"/, '');
     var img = new Image();
     var svgBlob = new Blob([data], {type: 'image/svg+xml;charset=utf-8'});
     var url = DOMURL.createObjectURL(svgBlob);
     img.onload = function () {
         var canvas = new fabriclib.fabric.Canvas();
         var svgStr = data;
         fabriclib.fabric.loadSVGFromString(svgStr, function(objects, options){
                var object = fabriclib.fabric.util.groupSVGElements(objects, options);
                canvas.add(object);
                 var ctx = canvas.getContext('2d');
                 ctx.canvas.width = width;
                 ctx.canvas.height = height;
                 fabriclib.fabric.util.loadImage(svgStr, function(img) {
                             ctx.drawImage(img, 0, 0, width, height);
                            img.crossOrigin = "Anonymous";
                    }, {
                        crossOrigin: 'anonymous'
                    });
                DOMURL.revokeObjectURL(url);
                var dataUrl = canvas.toDataURL({format: "png"});
            });
        }
    img.src = url;
票数 2
EN

Stack Overflow用户

发布于 2014-06-26 19:18:03

我不确定这是不是最好的方法,但我已经找到了一个解决方案。只需将img转换为base64,没有错误。这帮助了-> how to convert to base64

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24428328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档