Html2canvas: [Safari 10.1.2] 无法在画布中呈现 FontAwesome 图标。

创建于 2018-07-30  ·  3评论  ·  资料来源: niklasvh/html2canvas

错误报告:

我正在使用这个库将 html 页面上的 FontAwesome 图标转换为画布,然后将它们转换为 base64 字符串,最后转换为 byte[] 以在水晶报告中使用。 在 Firefox 和 Chrome 上,此功能完美运行。 在 Safari 10.1.2 上,canvas 元素不呈现图标; 它显示为一个空白的白色方块。

重现:

  1. 在 html 页面上添加一个 fontawesome 4 图标。
  2. 称呼
    html2canvas(document.querySelector( #icon ), { logging: true, allowTaint: true })
  3. 当 promise 实现时,调用:
    canvas.toDataURL();
    document.body.appendChild(canvas);

canvas 元素显示为空白。 base64 字符串是有效的,但它也是空白的(正如我想的那样)。

在一个单独但不太重要的说明上。 我只在 safari 中有一个错误,如果元素有display:inline-block ,则画布将为空。

规格:

  • 测试过的 html2canvas 版本:v1.0.0-alpha.12
  • 浏览器和版本:Safari 10.1.2
  • 操作系统:OSX Yosemite 10.10.5

最有用的评论

我发送了一个 PR 来解决这个问题

所有3条评论

+1

我发送了一个 PR 来解决这个问题

react-country-flag svgs 也有同样的问题

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

wbarrantes picture wbarrantes  ·  3评论

celik75 picture celik75  ·  4评论

yasergh picture yasergh  ·  5评论

koreanman picture koreanman  ·  4评论

Josh10101010 picture Josh10101010  ·  3评论