Safari v11+无法使用blueimp/jQuery文件上传插件



我现在很困惑,为什么我无法让blueimp/jQuery文件上传插件与桌面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&按预期对console.log((进行Chrome操作。但在Safari中什么都没发生。我在回购中找不到任何相关的SO帖子或错误报告来回答这个问题,所以我现在联系这里。其他人能复制这个问题吗?有趣的是,我能够使用Safari从演示页面上传文件,但到目前为止,浏览演示代码还没有弄清楚这个简单的用例在Safari中是如何持续失败的。

任何帮助都是非常受欢迎的。提前感谢!

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

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

我会让作者知道,更新的Safari浏览器不再是这种情况。我希望这能在过渡期间为某人节省时间,如果有人仍在使用1.7.2,也就是说;(

阿黛兰特!

最新更新