我有一个关于HTML画布的问题,我很难让它工作,它在五月份工作得很好,是什么导致画布不再工作了?一个新的帆布版本存在吗?这是五月的好工作,我在九月试过了,它停止工作了。
$('#download').click(function() {
html2canvas($('#firstshirt'), {
onrendered: function(canvas) {
var a = document.createElement('a');
a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
a.download = 'test.jpg';
a.click();
}
});
});
var download = document.getElementById("download"),
result = document.getElementById("previewImage");
function renderContent() {
html2canvas(document.getElementById("firstshirt"), {
allowTaint: true
}).then(function(canvas) {
result.appendChild(canvas);
download.style.display = "inline";
download.href = result.children[0].toDataURL();
});
}
function downloadImage() {
}
if (document.getElementById("btn-Preview-Image") != undefined) {
document.getElementById("btn-Preview-Image").onclick = renderContent;
download.onclick = downloadImage
}
最佳答案
如果您正在使用this html2canvas并且正在使用latest release(0.4.1)。
最新版本不返回promise并使用onrendered
,而latest dev version返回promise(可能仍有onrendered选项,但没有文档记录)。
因此,您应该坚持使用onrendered并保持最新的版本,或者使用最新的dev和承诺。如果你想支持没有本地承诺的浏览器,你需要一个polyfil。