首页 > 解决方案 > Safari 12.1.2 及更高版本中的 jQuery 3.3.1 文件上传冻结

问题描述

我正在尝试在 Safari 12.1.2 中使用 jQuery 3.3.1 上传文件,它允许我浏览并选择需要上传的文件。但是当我尝试上传所选文件时。它什么也不做。至少在浏览器控制台中不会显示错误消息。这在 12.1.2 以下的 Safari 版本、Chrome 和 Firefox 中运行良好。有人可以让我知道至少开始解决此问题的线索。(我也尝试调试代码,但它以 jQuery-3.3.1.min.js 结束并终止。)

标签: safarijquery-file-upload

解决方案


找到解决问题所需的更改。选项“forceIframeTransport”在我的代码中引用 jdeQuery-File-Upload 中的 fileupload 函数的代码片段中已设置为“true”。(根据 jQuery-File-Upload文档,此值默认设置为 false)然而,当此值设置为 true 时,在 Safari 12.1.2 及更高版本中,由于未知原因文件上传失败。如此简单,在我的情况下,解决方法是将“forceIframeTransport”设置为“false”,如下面的代码片段所示。(请注意,在我的应用程序中,不受此选项影响的交叉引用文件上传不是必需的)

 $('.assetupload').fileupload({
    **forceIframeTransport : false**,
    add : function(e, data) {
    .......
    .......
 });

推荐阅读