欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

使用webuoploader遇到的几个问题

程序员文章站 2022-04-19 17:55:09
...
最近做公司官网的项目,其中有一个上传证件照的功能,其实就是上传图片的功能,小萌是使用百度的一款插件WebUploader来做的,为什么使用这个插件呢?其原因是:WebUploader是一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。还有一点就是采用大文件分片并发上传,极大的提高了文件上传效率。基于这些优点,小萌选择了这款插件。

对于webuploader的使用方法,那么今天要介绍的是小萌在做官网项目的时候使用webuoploader遇到的几个问题。

问题一:WebUploader 某些浏览器如chrome,点击上传文件,选择框会延迟几秒才显示,反应很慢

一开始遇到这个问题的时候,小萌以为是因为网速慢的原因,并没有对此有过多的纠结,后来发现并不是,于是把测试地址丢给小呆,问在他那边慢不慢,事实证明,真的不是网络的问题,在webuploader的API中查了下,并没有查到什么,然后小呆在github中找到了一个解决办法,在webuploader初始化的时候改变其中的一个参数:

accept: {
 title: 'Images',
 extensions: 'jpg,jpeg,png',
 mimeTypes: 'image/*'
}
accept: {
 title: 'Images',
 extensions: 'jpg,jpeg,png',
 mimeTypes: 'image/jpg,image/jpeg,image/png'   //修改位置
}

此方法有点简单粗暴,看了之后才明白 webuploader 如果定义*的话,会检索所有格式,修改这个参数的原因是有选择的扫描文件类型,只选择扫描你设置的类型。小萌试了一下,修改之后确实不会再有延迟了,但是之前小萌初使用webuploader的时候并没有这种情况的发生,而且webuploader官网上的DEMO也是不延迟的,有人解释说是因为谷歌浏览器的更新,chrome 52.0.2743.80版本以上的版本都会出现延迟的情况,但是小萌不明白为啥官网的DEMO就不会有延迟呢。不过纠结这个问题是没有多大意义的,我们旨在解决问题。那么这个问题这样修改下就OK了。

问题二:WebUploader Firefox浏览器 点击上传文件无反应

这个问题其实比问题一更为严重,反应慢就算了,我可以等等,但是根本就无反应就苍了个天了,怎么办……哦怎么办……为什么火狐你就是不能用,害得我你害得我在你面前呼吸急促想要卸载掉你……各种百度无果,又让小呆帮忙我一起在github寻找解决方法,后来看到有个人说是有可能是因为上传按钮使用的是button的原因,建议修改为div。我修改了下,问题果然解决了,说是火狐对button按钮支持的问题,所以才会出现这个情况,虽然不知道为啥会这样,但是问题解决了就好。

问题三:WebUploader 部分低版本IE浏览器 点击上传文件无反应

对于IE这个问题,其实有些公司任性,不考虑IE兼容的话,可以不用理会,这个是因为IE不支持html5上传造成的,虽然说webuploader具有“默认会先尝试 html5 是否支持,如果支持则使用 html5, 否则则使用 flash”这个功能,但是对于IE这种浏览器,有些问题你还真的没办法说出来个所以然,所以如果遇到此问题,可以将可以将runtimeOrder的值设置成flash,来强制使用 flash 运行。不过也不需要担心设置默认为flash 运行上传就会影响其速度,这点webuploader处理的还是很好的。

到这里,这篇文章就结束了,不知道有木有朋友遇到跟我一样的问题,小萌讲此记录下来,一个是用来提醒自己,一个是希望帮助到需要解决这些问题的小伙伴儿们。喜欢的给小萌点个喜欢哦,O(∩_∩)O谢谢

以上就是使用webuoploader遇到的几个问题的详细内容,更多请关注其它相关文章!