【问题标题】:HTML2CANVAS not rendering the document.body when its more than 30,000 pixels long当其长度超过 30,000 像素时,HTML2CANVAS 不呈现 document.body
【发布时间】:2017-10-23 13:00:49
【问题描述】:

有没有办法解决这个问题?当 document.body 高度超过 30,000 像素时,html2canvas 不会呈现。或者我可以只渲染当前视口吗?用户可以看到什么?

请帮忙。

【问题讨论】:

  • 您可以在 html2canvas 初始化选项中添加type:'view' 以仅渲染活动视口
  • @AmrLabib 您可以将其添加为答案(除非您知道一个好的副本)。仅供参考:stackoverflow.com/questions/6081483/…
  • 我已经添加了 type:'view' 但是当我向下滚动时它仍然呈现页面顶部的内容..

标签: javascript html html2canvas


【解决方案1】:

为了能够仅呈现当前活动视口,您可以使用 type:'view' 选项初始化 html2canvas

示例:

 var body = document.getElementsByTagName("body")[0]; 
    html2canvas(body, {
        type: 'view',
        onrendered: function(canvas) {
            //implementation
        }
    })

我用html2canvas 版本0.5.0-beta4 测试了上面的代码,即使您滚动到页面底部,它也只能正确捕获当前视口

关于30000像素,可以查看@kaiido提到的answer

【讨论】:

  • 如果我的页面是 40,000 像素怎么办?
  • 是的,我刚刚用 40,000 像素的主体再次测试它并滚动到底部,它只捕获底部的活动视口
  • 先生,我能问一下如何下载 html2canvas 版本 0.5.0-beta4,因为我在这里下载了 html2canvas.js github.com/niklasvh/html2canvas/releases 但是有一个错误说“未捕获(承诺)类型错误:this.getChildren 是不是函数”..谢谢
  • 使用npm install html2canvas会下载最新版本0.5.0-beta4
  • 好的,先生我试试看。稍后或明天我会问你
猜你喜欢
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多