如何在safari中将dataURL格式('“data:image / svg + xml; base64,”')svg设置为img.src?(在chrome中没问题。)。
Safari会抛出securityError。 是否有任何方法可以使dataURL的域名正确?
var img = new Image();
img.onload = myLoader;
img.crossOrigin = 'anonymous';
img.src = "data:image/svg+xml;base64,...............";
var canvas = document.createElement('CANVAS');
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
console.log(canvas.toDataURL());
答案 0 :(得分:3)
这可能是因为您的SVG文档中有<foreignObject>
个元素。
出于安全原因,Safari v.9 +会在绘制此元素时污染画布。
除了从SVG中删除它之外没有解决方法; - )
Ps:在使用任何svg之后,Edge之前的IE也会污染画布。