文件下载期间Javascript被阻止

时间:2018-01-17 07:30:32

标签: javascript jquery html

在用户控制文件下载的网站编程一周后,我终于将其上传到我的网站托管,以找到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代码?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我的网站使用POST从PHP脚本中检索数据,这些脚本使用PHP会话。在您使用&#34; session_start()&#34;之后,如果用户有权访问该文件,我的下载脚本将通过会话进行验证。它将阻止访问会话,直到脚本完成,在这种情况下,直到下载完成。这就是为什么在下载大文件时,Javascript无法检索数据,从而导致阻塞,修复此问题,我在&#34; Readfile&#34;之前使用了下一个代码。代码。

session_write_close();

这样,我手动关闭会话,释放它并让其他脚本访问会话数据,感谢您的时间配偶!。