Javascript Html2canvas-如何捕获所有div?
我正在使用html来绘制capture div的画布 这是我的密码:Javascript Html2canvas-如何捕获所有div?,javascript,html2canvas,Javascript,Html2canvas,我正在使用html来绘制capture div的画布 这是我的密码: $scope.testCanvas = function() { html2canvas([document.getElementById('test')], { onrendered: function(canvas) { $("#divtest").append(canvas);
$scope.testCanvas = function()
{
html2canvas([document.getElementById('test')], {
onrendered: function(canvas) {
$("#divtest").append(canvas);
}
});
});
}
<div id="test">
<article id="art2" class="p-Fitness p-Tile u-md-spaceTop p-FitnesssecurityPatch" >
<section class="p-Tile-section">
<div class="p-Fitness-impact"></div>
<div class="p-Fitness-securityGraph"></div>
</section>
</article>
<article id="art2" class="p-Fitness p-Tile u-md-spaceTop p-Fitness-securityPatch" >
<section class="p-Tile-section">
<div class="p-Fitness-impact"></div>
<div class="p-Fitness-securityGraph"></div>
</section>
</article>
</div>
<div id="divtest">
</div>
$scope.testCanvas=function()
{
html2canvas([document.getElementById('test')){
onrendered:函数(画布){
$(“#divtest”).append(画布);
}
});
});
}
问题在于,只捕获了div的一部分,即屏幕上可见的部分,即屏幕截图。
我需要捕获所有div-有什么想法吗?您只需使用
Id
访问div,它只会给您一个元素要捕获所有div,可以使用类选择器
。向所有div添加一个类,比如说class='test'
。那你就可以这么做了
html2canvas(document.getElementsByClassName('test'), {....
所以你要做的就是替换这个
[document.getElementById('test')] -- array with one element
与
我得到一个错误:node.setAttribute不是一个函数,因此如果我将其更改为document.body,则只捕获屏幕中可见的部分
document.body
??你在哪里用它?
document.getElementsByClassName('test') -- array of selected elements.