尝试使用纯php制作下载页面。 对于那些启用了javascript的用户,我计划通过一些反馈来扩展下载页面。
做了一些原型设计...... 当用户按下下载按钮(发布)时,下载开始。 没有页面更改,java脚本仍可在下载页面上执行。
这是否可以依赖,强制下载后javascript仍会执行?
简单的例子,test.php:
<?php
if (!isset($_POST["submit"])) {
$content = '
<script type="text/javascript">
var count = 0;
function tick(){
count++;
console.log("tick() " + count);
setTimeout("tick()", 1000);
}
tick();
</script>
<form method="post" action="">
Download file</br>
<input type="submit" name="submit" value="Submit" />
</form>
';
echo $content;
} else {
$file = 'contentFile.zip';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
?>