首页投稿(暂停使用,暂停投稿)WEB前端程序开发程序员

基于jQuery与Bootstrap的纯 Javascript

2017-02-28  本文已影响171人  为什么一定要起昵称

之前在项目中写了一个附件上传系统。
已经两年多了吧,系统运行还算比较稳定。
最近决定整理一下,去掉一些复杂的功能,重构一份代码,去掉数据库部分,力争作为一个纯前端的文件上传控件,后端的代码尽量简化只写一些基础的信息
相信看看内容都能明白。

基于jQuery,这个是没的说,当然其实如果用纯粹的ES5来做也没问题,只是我比较习惯用jQuery了,然后这个插件用到了javascript file api,所以不支持 IE8,9(我在自己项目里头用的那版程序是支持IE8,9的,但是那个使用了silverlight,后台使用webservice方式上传,使用的C#进行开发,如果后台换掉的话,我不确定是否能够直接转过来)。

基于bootstrap,其实也就是简单的使用了几个样式,拆出来自己做也没问题。关于样式的话,每个人都有自己的喜好,所以样式完全可以自己修改。


写到这里忽然想吐个槽,刚刚测试了一下,IE10,11居然没有String.prototype.endsWith,所以我刚刚在代码里头加了一小段shim
然后IE10对于 XMLHttpRequest 的实现里头,缺了一个方法overrideMimeType


好了,以下是控件详细情况


  1. 控件并不以某个样式或者特点作为默认初始化(就是说不会像easyui等框架那样,直接在元素上添加一个样式,然后就可以自动初始化了),这个可以加,以后再说。

  2. 以上所有功能,加了ok的,都是已完成的,没有ok的我都提了解决方式(控件以上传为主,所以比较着重于页面展示,删除以及下载功能都相对弱化了许多)。

  3. 纯粹的javascript控件,最好不要上传超大文件(当然在单机情况下,我试过上传200M+的文件,没有出错,所以程序还可以,但是外网环境下不好说)。

  4. 可能有些功能在上文中并没有提到。

  5. 事件触发顺序

     beforeallupload
     beforeupload
     fileuploadend fileuploaderror
     change
     alluploadend
    
     beforedelete
     deleteend
     change
    
     beforedownload
     downloadend
    
一张简单的效果示意图,主要是触发事件

最后附上地址(我的github注册了很久,但是用了没几天,暂时没琢磨明白github应该怎么用,先这样吧)

https://github.com/liq-personal-2017/jquery.fileuploader

上一篇 下一篇

猜你喜欢

热点阅读