【发布时间】:2019-11-16 23:16:07
【问题描述】:
我现在很难理解为什么我无法让 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 中什么也没有发生。我无法在 repo 中找到任何相关的 SO 帖子或错误报告来回答这个问题,所以我现在在这里联系。其他人可以复制这个问题吗?有趣的是,我我能够使用 Safari 从demo page 上传文件,但到目前为止查看演示代码并不清楚这个简单的用例是如何在 Safari 上始终失败的。
非常欢迎任何帮助。提前谢谢!
编辑:我应该注意Safari 被列为该插件支持的浏览器。我正在使用最新版本的插件 v10.3.0。
【问题讨论】:
-
对于后代,我似乎遇到了一个相关的错误,在这里讨论(但未解决):forums.envato.com/t/…
-
我还确保这不是与我的输入被隐藏有关的问题:stackoverflow.com/questions/24980459/…
-
另一个花絮:我已经用 BrowserStack 验证了这个确实适用于旧版 Safari 浏览器:
标签: jquery ajax safari upload blueimp