为什么html2canvas在MS Edge上为表格捕获的字节数组比Chrome少

时间:2018-10-30 21:10:31

标签: javascript html html5-canvas microsoft-edge html2canvas

出于好奇,使用html2canvas捕获下表时,为什么MS Edge生成的图像(就字节数组长度而言)比Chrome生成的图像小约2.5倍?

是由于浏览器提供的API不同还是html2canvas库方面的实现变体。

任何帮助或指导将不胜感激!谢谢!

<table>
<tbody>
    <tr data-row="0">
        <td data-col="0" data-row="0" data-corner-header="true">
        </td>
        ...
        <td data-col="7" data-row="0" data-col-header="6">
            <div>G</div>
        </td>
    </tr>
    <tr data-row="1">
        <td data-col="0" data-row="1" data-row-header="0">
            <div>1</div>
        </td>
        <td tabindex="0" data-row="1" data-col="1">1.00</td>
        ...
        <td data-row="1" data-col="7" editable="true"></td>
    </tr>
    ...
    <tr data-row="10">
        <td data-col="0" data-row="10" data-row-header="9">
            <div>10</div>
        </td>
        <td data-row="10" data-col="1" editable="true"></td>
        ...
        <td tabindex="0" data-row="10" data-col="7" title="1.00">1.00</td>
    </tr>
</tbody>

Codepen

https://codepen.io/tianyuan-chu/full/ReeGpj/

屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:2)

如果我们看到HTML2Canvas的文档,那么他们已经提到了,

  

该脚本可让您对网页或部分网页进行“截屏”   它,直接在用户浏览器上。屏幕截图基于DOM   因此,对于真实的表示,可能不是100%准确   不会制作实际的屏幕截图,但会根据   页面上的可用信息。很大程度上取决于浏览器

由于每个浏览器的工作方式略有不同,因此每个浏览器的字节数组都可能不同。

您也可以使用其他浏览器进行测试。

我也在FireFox和IE上尝试过。

在IE上,数组长度为5118,而在FireFox上,数组长度为4230。

参考:

Html2canvas

html2canvas