函数html2pdf(element)
(生成页面的pdf)可以正常工作。执行该功能后,我想定向到另一页。就我而言,添加window.location.href[...]
只是将页面重定向到下一页,但是功能html2pdf
不再起作用。
<script>
$(function() {});
function printPDF() {
var element = document.getElementById("element-to-print");
var opt = {
margin: 1,
filename: "EFS10Laptop.pdf",
image: { type: "jpeg", quality: 1.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: "in", format: "letter", orientation: "portrait" }
};
// New Promise-based usage:
//html2pdf().from(element).set(opt).save();
html2pdf(element);
window.location.href = "index.php";
}
</script>
答案 0 :(得分:0)
Ankur是正确的-html2pdf
可以与基于Promise的API一起使用,也可以不与基于Promise的API一起使用,因此本质上是异步的,因此在设置请求{并且设置{{ 1}}几乎是瞬时的,在html2pdf有机会完成之前已达到重定向。
由于window.location.href
具有基于promise的API,因此很容易避免-只需等到save promise决定重定向即可,就像这样:
html2pdf
请注意,当保存对话框仍处于打开状态时,这仍将重定向用户。我没有看到the documentation中关闭时的承诺(可能是因为JS方面不知道),但是它不会阻止html2pdf正常工作,因为文件blob的生成是在页面重定向。