Вот моя проблема.
У меня есть кнопка, которая создает холст захвата 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, и она утешает каждое изображение.
Знаете ли вы, почему?
Спасибо за вашу помощь.