Закадровые div не работают с html2canvas

Я использую html2canvas для захвата некоторых div. Все работает нормально, если div находится на экране во время захвата. Но если мне случится прокручивать страницу вниз, а div в это время находится за пределами экрана, то он не захватывает div. Вывод холста обычно пуст для захваченных за кадром элементов div. Как я могу это исправить? Как я могу захватить div, даже если div находится на экране или за его пределами?

  var elem = document.getElementById('myElem');
     document.querySelector("button").addEventListener("click", function() {
        html2canvas(document.querySelector("#content"), {
           canvas: elem,
           width: 200,
           height: 250,
           useCORS: true
       }).then(function(canvas) {
           console.log('Drew on the existing canvas');
       });
   });

person Becky    schedule 30.07.2015    source источник


Ответы (1)


У меня также были проблемы с захватом закадровых элементов. Оказалось, что элементы html и body имеют переполнение: скрытые стили на них, в результате чего захваченный закадровый холст представляет собой сплошное черное изображение. Временный сброс стиля переполнения для элементов html и body во время захвата решил проблему. В вашем случае могут быть другие элементы с правилами переполнения, которые мешают аналогичным образом, независимо от того, установлено ли переполнение скрытым или прокручиваемым.

person Robert Waddell    schedule 05.06.2016