我正在使用这个库将 html 页面上的 FontAwesome 图标转换为画布,然后将它们转换为 base64 字符串,最后转换为 byte[] 以在水晶报告中使用。 在 Firefox 和 Chrome 上,此功能完美运行。 在 Safari 10.1.2 上,canvas 元素不呈现图标; 它显示为一个空白的白色方块。
重现:
html2canvas(document.querySelector(
#icon ), { logging: true, allowTaint: true })
canvas.toDataURL();
document.body.appendChild(canvas);
canvas 元素显示为空白。 base64 字符串是有效的,但它也是空白的(正如我想的那样)。
在一个单独但不太重要的说明上。 我只在 safari 中有一个错误,如果元素有display:inline-block ,则画布将为空。
最有用的评论
我发送了一个 PR 来解决这个问题