我正在使用 TCPDF 为在线应用程序生成文档。
我希望用户在打印后返回表单,因为用户将再次捕获数据。
我曾尝试在新选项卡/窗口中打开 pdf 并在打印后调用 window.close()
,但要使用 window.close()
,表单必须使用 window.open()
打开,但情况并非如此。表单操作打开窗口。
然后我尝试在同一个选项卡中打开表单并调用 history.back()
,但也没有工作(通过不工作,我指的是页面保留在 pdf 上。
我尝试过的代码(以及许多其他代码)
$js = <<<EOD
window.print();
document.location.href = 'http://www.google.com';
EOD;
和
$js = <<<EOD
window.print();
window.history.back();
EOD;
和
$js = <<<EOD
window.print();
history.go(-1);
EOD;
和
$js = <<<EOD
window.print();
window.addEventListener("afterprint", "window.history.back();");
EOD;
此代码在不在 TCPDF 中时有效:
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
window.print();
window.onafterprint = function(){
window.history.go(-1);
}
});
</script>
这必须在 TCPDF 中工作
有什么建议么?
最佳答案
问题是如果你直接加载一个PDF文件,那么那个页面上没有运行JS,所以你不能用JS关闭它
我建议的最佳解决方案是使用 ViewerJS ,它是用 JS 编写的 PDF 阅读器,因此您仍然可以在显示文档的同时运行代码。
关于javascript - 打印对话框关闭后,TCPDF 返回上一页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59186544/