HTML2CANVAS кумулятивный холст - PullRequest
1 голос
/ 12 января 2020

Вот моя проблема.

У меня есть кнопка, которая создает холст захвата div:

 $('#btn_share').live('click',function(){
    nomImage = $(this).data('titrevoyage');       
    html2canvas(document.querySelector("#container_global"),{useCORS: true, preferCanvas: true}).then(canvas => {  
        $('#popup_fb_share').stop().fadeIn();
        $('#popup_fb_share_overlay').stop().fadeIn();                        
        $('#image_to_share').html(canvas);            
        $('#share_download').live('click',function(){
            saveAs(canvas.toDataURL("image/jpg"), nomImage+'.jpg');
        });
    });          
});

Вот функция для сохранения изображения:

function saveAs(uri, filename) {
    var link = document.createElement('a');
    if (typeof link.download === 'string') {
      link.href = uri;
      link.download = filename;

      //Firefox requires the link to be in the body
      document.body.appendChild(link);

      //simulate click
      link.click();

      //remove the link when done
      document.body.removeChild(link);
    } else {
      window.open(uri);
    }
}

В первый раз, когда я нажимаю на #share_download, он прекрасно загружает мое изображение. Во второй раз загружает старое изображение и после того, как загружает новое. В третий раз загружает два первых изображения и после него скачивает. новый ..... .....

Я стараюсь ie очистить холст, удалить холст и др. c, но, похоже, каждый раз загружаются все изображения.

Проблема не в функции saveAs, потому что я console.log нажимаю на кнопку #share_download, и она утешает каждое изображение.

Знаете ли вы, почему?

Спасибо за вашу помощь.

...