我使用html2canvas从我的网站创建一个画布,下面的代码。那个画布我用jsPdf作为PDF上传到我的服务器。这适用于除Internet Explorer之外的所有浏览器(我在IE 11中尝试过)。画布已创建但完全空白。我已经包含了一个Promise插件。
我是否需要为IE添加额外的工作或使用不同的代码?
html2canvas(document.body, {
background: '#FFFFFF',
logging: true,
onrendered: function(canvas) {
var pdf = new jsPDF('l', 'px', [screenWidth, screenHeight]);
var marginLeft = 0;
var marginRight = 0;
pdf.addImage(canvas.toDataURL("image/jpg"), "jpg", marginLeft, marginRight, screenWidth, screenHeight, null, 'FAST');
var finalPDF = btoa(pdf.output());
var data = new FormData();
data.append("data", finalPDF);
var xhr = new XMLHttpRequest();
xhr.open("post", "uploadPDF.php", true);
xhr.send(data);
}
});
修改
我修复了空白画布。问题出在position:absolute;
元素上。我在创建position:relative;
之前将其切换为canvas
,然后将其切换回onrendered:
回调。
答案 0 :(得分:0)
登录后:true设置另一个属性useCORS:true应该可以解决问题