Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html2canvas仅渲染div元素的可见部分_Javascript_Css_Html2canvas - Fatal编程技术网

Javascript html2canvas仅渲染div元素的可见部分

Javascript html2canvas仅渲染div元素的可见部分,javascript,css,html2canvas,Javascript,Css,Html2canvas,我正在使用html2canvas截屏页面中的可滚动div元素。 但是,它只渲染可见的内容,而不是整个div 下面是一个小例子: 我做了一些搜索,看到其他人建议在html2canvas参数中设置scrollY:-window.scrollY。 但这对我不起作用 有人在这个问题上有经验吗? 谢谢大家! 尝试向#photo添加一个子元素,它不受CSS的约束-如下所示: <div id="photo"> <div id = "photo-inner&quo

我正在使用html2canvas截屏页面中的可滚动div元素。 但是,它只渲染可见的内容,而不是整个div

下面是一个小例子:

我做了一些搜索,看到其他人建议在html2canvas参数中设置
scrollY:-window.scrollY
。 但这对我不起作用

有人在这个问题上有经验吗?
谢谢大家!

尝试向#photo添加一个子元素,它不受CSS的约束-如下所示:

<div id="photo">
<div id = "photo-inner">
        <button onclick="takeshot()">
        Take Screenshot
    </button>
    <h1>Test</h1>
    Hello everyone! This is a
    trial page for taking a
    screenshot.
    <br><br>
    This is a dummy button!
    <button> Dummy</button>
    <br><br>
    Click the button below to
    take a screenshot of the div.
    <br><br>
    <button onclick="takeshot()">
        Take Screenshot
    </button>
</div>
</div>

(这在你的代码笔中有效,我不能用叉子叉,因为我没有注册。)

它有效!非常感谢你。是不是因为之前html2canvas受#photo的css属性影响,所以它只显示部分div?html2canvas对一些css规则有点严格。通过添加一个没有CSS的子div,您可以让它获得完整的内容。
let div = document.getElementById('photo-inner');