на вебсайте есть кнопка она с помощью канваса делает скрин экрана и грузить на комп, есть одна проблема после перезагрузки страницы он работает только со второй нажатии
<a id="screen" class="dropdown-toggle btn " onclick="exportData('screen')">
<b class="fa fa-camera"></b>
</a>
<script type="text/javascript">
function dataURItoBlob(dataURI) {
// convert base64/URLEncoded data component to raw binary data held in a string
var byteString = atob(dataURI.split(',')[1]);
// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
// write the bytes of the string to a typed array
var ia = new Uint8Array(byteString.length);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ia], {type: mimeString});
}
</script>
<script type="text/javascript">
function exportData() {
var dt = new Date();
html2canvas($('body'), {
onrendered: function (canvas) {
var imgString = canvas.toDataURL("image/jpeg");
var blob = dataURItoBlob(imgString);
var a = document.getElementById("screen");
var file = new Blob([blob], {type: "image/jpeg"});
a.href = URL.createObjectURL(file);
a.download = 'screen ' + dt;
}
});
}
</script>
библиотека canvas включен. Где накосячил не пойму
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Кто может подсказать что конкретно находится под капотом функций split, slice, join?
Почему не меняется дата после нажатия на кнопку смена даты В чем проблема ?
Уже который раз встретилась с таким синтаксисом: