Safari中的html2canvas未在SVG路径上呈现Javascript style.fill
我正在尝试解决这个问题:在Apple Safari中,我的Safari中的html2canvas未在SVG路径上呈现Javascript style.fill,javascript,svg,path,fill,html2canvas,Javascript,Svg,Path,Fill,Html2canvas,我正在尝试解决这个问题:在Apple Safari中,我的正在使用html2canvas正确呈现,但任何SVG路径除外,例如我使用以下脚本进行了修改: document.getElementById('test').style.fill = 'blue'; PNG文件在Mac和PC上的Firefox和Chrome中正确下载。但是,在Safari(台式机和移动设备上)中,PNG文件的下载保持不变 关于如何在Safari中实现这一点,我已经没有主意了 我创建此示例时遵循了我在网站上使用的基本原则:
正在使用html2canvas正确呈现,但任何SVG路径除外,例如
我使用以下脚本进行了修改:
document.getElementById('test').style.fill = 'blue';
PNG文件在Mac和PC上的Firefox和Chrome中正确下载。但是,在Safari(台式机和移动设备上)中,PNG文件的下载保持不变
关于如何在Safari中实现这一点,我已经没有主意了
我创建此示例时遵循了我在网站上使用的基本原则:
函数saveCanvas(){
document.getElementById('test').style.fill='blue';
html2canvas(document.querySelector(“#wrap”))
。然后(画布=>{
var image=canvas.toDataURL(“image/png”)
.replace(“图像/png”、“图像/octet流”);
var a=document.createElement('a');
a、 href=图像;
a、 下载='image.png';
a、 单击();
});
}
点击我代码>
//不工作。
$('#canvas svg.BODY').css('fill','blue');
//工作。
$('#canvas svg').append('.BODY{fill:blue;}');
您可以随时尝试引发webkit错误。可能与此相关,
// Not working.
$('#canvas svg .BODY').css('fill', 'blue');
// Working.
$('#canvas svg').append('<style type="text/css">.BODY{fill:blue;}</style>');