我使用PhpSpreadsheet来导出MySQL数据,具体步骤如下:
第一页:
点击会触发
window.open
函数打开一个包含导出脚本的页面。window.open('/export.php?data.., '_self');
第二页(export.php):
导出和php://output
的整个系统
ob_end_clean();
ob_start();
$objWriter->save('php://output');
exit;
我能否知道导出页面是否已经完成呢?这是为了触发一个覆盖层。
我尝试了什么?
在stackoverflow上,我尝试了以下解决方案,但它并没有起作用:
overlay.style.display = "block";
let myPopup = window.open('/export.php?data.., '_self');
myPopup.addEventListener('load', () => {
console.log('load'); //just for debug
overlay.style.display = "none";
}, false);
_self
时,该方法才有效。你知道在$objWriter->save('php://output');
之后关闭窗口的方法吗?因为我尝试使用ob_clean();
和echo "<script>window.close();</script>";
来关闭它,但是都没有起作用。 - Simone Rossainiphp://output
时,不存在一个$file
,那么如何解决主要问题呢?我如何检测脚本的结束?因为如果你使用表单,它与使用open window
是一样的。 - Simone Rossaini