我有一个 php 脚本,它通过 for 循环调用另一个脚本。然后调用的脚本会回显一个带有 javascript 的树枝模板,该模板可导出 pdf。问题是 javascript 只执行一次。这是流程:
generate-invoice.php -> invoice.php -> 带有脚本标签的树枝模板 -> javascript 的代码是:
window.onload = function() {
kendo.pdf.defineFont({
"Comfortaa": "/doc/fonts/Comfortaa-Regular.ttf",
"Comfortaa|Bold": "/doc/fonts/Comfortaa-Bold.ttf",
});
var inv_num = document.querySelector('#inv_num').dataset.id;
var company = document.querySelector('#company').dataset.id;
function ExportPdf(){
kendo.drawing
.drawDOM("#myCanvas",
{
paperSize: "A4",
margin: { top: "0.5cm", bottom: "0.5cm", left: "0.5cm", right: "0.5cm"
},
scale: 0.8,
height: 500
})
.then(function(group){
kendo.drawing.pdf.saveAs(group,company + " | Invoice #" + inv_num +
".pdf")
});
}
ExportPdf();
console.log('It ran');
}
当我查看控制台时,“它已运行”只在应该发布两次的地方发布一次,因为树枝模板被调用了 2 次。
编辑:只是想让你知道我通过include在 for 循环中调用invoice.php 脚本..也许这就是导致这个问题的原因?