在用户控制文件下载的网站编程一周后,我终于将其上传到我的网站托管,以找到javascript的问题。 使用JQuery,我在"上设置了一个点击事件。功能
$("#ContenedorPV").on("click", "img", function () {});
这样,每当我点击一个以编程方式添加的图像时,它会打开一个带有"下载"的模态。单击时的超链接,下载文件。
<a id="BotonDescargar" href="" class="modal-action modal-close waves-effect waves-light btn-flat white-text" download>Descargar</a>
href是空的,因为我用这种方式用JQuery更改它。
$("#BotonDescargar").attr("href", "descargar.php?ID=" + ID_Actual);
此代码更改URL,附加正确的ID,这是问题发生时。当我点击下载链接时,文件开始下载,但是! javascript停止响应,如果我点击另一个图像,我的模式不会显示,如果我重新加载网页,即使是&#34; Document.Ready&#34;脚本不起作用,同样的问题。下载完成后,一切都恢复正常,我尝试使用隐藏的iframe和同样的问题,是否有正确的方法下载文件而不阻止我的JavaScript代码?提前谢谢。
答案 0 :(得分:0)
我的网站使用POST从PHP脚本中检索数据,这些脚本使用PHP会话。在您使用&#34; session_start()&#34;之后,如果用户有权访问该文件,我的下载脚本将通过会话进行验证。它将阻止访问会话,直到脚本完成,在这种情况下,直到下载完成。这就是为什么在下载大文件时,Javascript无法检索数据,从而导致阻塞,修复此问题,我在&#34; Readfile&#34;之前使用了下一个代码。代码。
session_write_close();
这样,我手动关闭会话,释放它并让其他脚本访问会话数据,感谢您的时间配偶!。