Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用canvas-toDataURL将svg转换为png不会';我不能在Mac上的Safari中工作_Javascript_Html_Canvas_Svg_Safari - Fatal编程技术网

Javascript 使用canvas-toDataURL将svg转换为png不会';我不能在Mac上的Safari中工作

Javascript 使用canvas-toDataURL将svg转换为png不会';我不能在Mac上的Safari中工作,javascript,html,canvas,svg,safari,Javascript,Html,Canvas,Svg,Safari,我正在尝试使用HTML5 Canvas-toDataURL方法将svg xml与嵌入的图像进行转换。嵌入的图像url不会转换,这在某种程度上可以解释为CORS安全问题 但是,如果我使用base64嵌入式图像,它在IE、Chrome和Firefox中都可以正常工作。但它在Mac上的Safari中根本不起作用 请参阅此JSFIDLE: 这真的应该是一个简单的svg到png的转换,应该可以工作 有什么建议或想法吗?感谢您的回复,尽管关于该错误的最后一条评论说它似乎已被解决。一件非常有趣的事情是,如果您

我正在尝试使用HTML5 Canvas-toDataURL方法将svg xml与嵌入的图像进行转换。嵌入的图像url不会转换,这在某种程度上可以解释为CORS安全问题

但是,如果我使用base64嵌入式图像,它在IE、Chrome和Firefox中都可以正常工作。但它在Mac上的Safari中根本不起作用

请参阅此JSFIDLE:

这真的应该是一个简单的svg到png的转换,应该可以工作


有什么建议或想法吗?

感谢您的回复,尽管关于该错误的最后一条评论说它似乎已被解决。一件非常有趣的事情是,如果您在mac上的Safari中打开开发者工具,并从中生成base64映像,它实际上是正确的和预期的映像。在developer tools中查看图像之后,它也开始在网页中正确显示,但是如果在其他选项卡中打开它,问题仍然存在。似乎感谢您的回复,尽管关于这个bug的最后一条评论说它似乎已经解决了。但一件非常有趣的事情是,如果你在mac上的Safari中打开开发者工具,并从中生成base64映像,它实际上是正确的和预期的映像。在developer tools中查看图像之后,图像也会在网页中正确显示,但如果在其他选项卡中打开图像,问题仍然存在。
var preview2 = document.getElementById("preview2");
preview2.src = canvas.toDataURL("image/png");