Error : ArrayBuffer is undefined
Error : ArrayBuffer is undefined
我正在使用 html2canvas 和 jsPDF 将 div 导出为 PDF,正在使用 Google Chrome、Firefox 和 IE 11,但在 IE 9 和 10 版本中给出错误:ArrayBuffer 未定义。
代码:
function exportPDF(relatorio){
var form = $(relatorio);
var cache_width = form.width();
var a4 =[ 595.28, 841.89];
getCanvas(form).then(function(canvas){
var imgData = canvas.toDataURL('image/png');
var imgWidth = 210;
var pageHeight = 295;
var imgHeight = canvas.height * imgWidth / canvas.width;
var heightLeft = imgHeight;
var doc = new jsPDF('p', 'mm');
var position = 0;
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
while (heightLeft >= 0) {
position = heightLeft - imgHeight;
doc.addPage();
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
}
doc.save('relatorioOrcadoRealizado.pdf');
form.width(cache_width);
});
}
function getCanvas(form){
//CONVERT for canvas
return html2canvas(form,{
imageTimeout:2000,
removeContainer:true
});
}
看看这个link:
http://caniuse.com/#feat=typedarrays
它将告诉您 ArrayBuffer 在 Internet Explorer 9 中不受支持,并且仅在 Internet Explorer 10 中受警告支持。这意味着您必须修改代码以使用其他内容(例如此处的 polyfill:https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) 或者你将不得不忍受你的代码在 IE 9 中不工作 and/or 10.
我正在使用 html2canvas 和 jsPDF 将 div 导出为 PDF,正在使用 Google Chrome、Firefox 和 IE 11,但在 IE 9 和 10 版本中给出错误:ArrayBuffer 未定义。
代码:
function exportPDF(relatorio){
var form = $(relatorio);
var cache_width = form.width();
var a4 =[ 595.28, 841.89];
getCanvas(form).then(function(canvas){
var imgData = canvas.toDataURL('image/png');
var imgWidth = 210;
var pageHeight = 295;
var imgHeight = canvas.height * imgWidth / canvas.width;
var heightLeft = imgHeight;
var doc = new jsPDF('p', 'mm');
var position = 0;
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
while (heightLeft >= 0) {
position = heightLeft - imgHeight;
doc.addPage();
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
}
doc.save('relatorioOrcadoRealizado.pdf');
form.width(cache_width);
});
}
function getCanvas(form){
//CONVERT for canvas
return html2canvas(form,{
imageTimeout:2000,
removeContainer:true
});
}
看看这个link: http://caniuse.com/#feat=typedarrays
它将告诉您 ArrayBuffer 在 Internet Explorer 9 中不受支持,并且仅在 Internet Explorer 10 中受警告支持。这意味着您必须修改代码以使用其他内容(例如此处的 polyfill:https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) 或者你将不得不忍受你的代码在 IE 9 中不工作 and/or 10.