Safari v11+ 不适用于 blueimp/jQuery-File-Upload 插件

Safari v11+ not working with blueimp/jQuery-File-Upload plugin

我现在很困惑为什么我无法让 blueimp/jQuery-file-upload 插件与桌面 Safari 浏览器一起工作。我的 QA 使用 v11.2 (MacOS El Capitan) 进行了测试,我已经在 v13.0.3 (macOS Mojave 10.14.6) 上进行了测试。 Safari 似乎没有调用 .fileupload() 函数。但是,该插件在 Chrome 和 Firefox 中都按预期工作。

这是我一直用于测试的基本代码。

Html

<input class="upload" type="file" name="FileData" id="fileupload-remove-items" data-url="/analysis/upload"/>

JS:

  $('#fileupload-remove-items').fileupload({
        dataType: 'json',
        start: function (e, data){
            console.log('start'); // fires in Chrome & Firefox browsers, but *not* Safari
        },
        progress: function (e, data){
            console.log('progress');  // fires in Chrome & Firefox browsers, but *not* Safari
        },
        done: function (e, data) {
            console.log('done'); 
        }
    }); 

在 Firefox 和 Chrome 中,console.log() 按预期触发。但是在 Safari 中什么也没有发生。我无法在回购协议中找到任何相关的 SO 帖子或错误报告来回答这个问题,所以我现在在这里联系。其他人可以复制这个问题吗?有趣的是,我 am 能够使用 Safari 从 demo page 上传文件,但到目前为止查看演示代码并不清楚这个简单的用例如何在 Safari 中始终失败.

非常欢迎任何帮助。提前致谢!

编辑:我应该注意到 Safari 被列为该插件支持的浏览器。我使用的是最新版本的插件 v10.3.0.

在创建了一个在 Safari v11+ 中确实有效的 jsFiddle 之后,我终于找到了罪魁祸首。通过剖析我的网站,我发现了差异所在。获胜者是... 我的旧网站使用的 jQuery 版本 - 具体来说,jQuery v1.7.2.当我将旧版本换成更新的 v2.2.4 时,Safari v11+ 立即开始运行。它实际上也适用于 jQuery v1.8。很容易错过,因为 Readme.md 将 强制要求 列为 jQuery v1.6+。

我会通知作者,更新的 Safari 浏览器不再是这种情况。我希望这可以在过渡期间节省一些时间,如果有人还在使用 1.7.2,那就是 ;)

阿德兰特!