文件上传控件plupload的runtimes问题整理(html4、silverlight)
来源:互联网 发布:淘宝不能使用图片搜索 编辑:程序博客网 时间:2024/06/06 04:25
从很早之前就出现的silverlight 控件的问题,因为不知道是什么原因,没有去跟踪,到客户提出问题以后才开始正视这个问题,因为不得不去修改了,这样真的不好。
具体说说这个问题吧:
使用的是plupload控件用于文件上传,他可以支持多种ruuntimes:html5、silverlight、flash、html4。
遇到的问题:当低版本浏览器识别到使用silverlight时,会跳出安装控件,提示框,实际此控件已经安装过。
经过跟踪发现,我的使用方法是在加载common.Js时就将upload控件初始化了。但是初始化时是可用的状态,大概3-5s后,该uploder的页面结构又恢复为不可用的结构。所以在3-5s内点击上传是可用的,但是在之后点击上传的话,就会要求需要下载控件。
接下来是判断的过程:初始时判断是控件初始化了2次,第二次出现一些错误,导致控件不可用,弹出下载提示。但是检查代码发现并没有相关的初始化。于是师父提醒,说看看官网上是不是有相关的bug,看是自己的问题还是控件的问题。去官网,在例子中有使用不同的控件来运行上传控件的例子,发现其中单纯的silverlight和flash也有类似的问题,于是判断为控件的bug。
解决方案:想要在低版本中使用html4作为runtime,避免加载的问题。
可是新的bug出现了:在IE中,点击运行html4的控件的上传按钮,发现页面没反应,并未弹出选择文件的框体,但是在ff和chrome中是正常的。
这次的bug是只在IE中出现的,所以将官网中运行html4的例子拿到IE中,发现是可以正常使用的。于是又想到是不是自己使用的各种js、初始化的代码出现了问题,于是将相关的js、css和html代码copy出来,在本地运行了一个demo,发现也是没有问题的。
这个时候就迷茫了,不知道是哪里出了问题。
然后就是又纠结了一天的时间,不知所措……
今天早上来了向同事寻求技术支持,然后他用英文搜索了一下,网上确实有英文的相关讨论,发给我以后,然后大家有相关的解决方案。有人说是display:none的问题,在silverlight中将初始改为显示,发现仍然不可用。然后又看到一人的解决方案,有人留言说是帮他解决了问题,照它的代码报错了,但是他的思路是将uploader刷新一下。于是突然想到,是不是可以在点击上传的时候再开始对uploader进行初始化,这样就避开了那3-5s的时间,直接就显示了。然后将问题解决了,顺便测试了一下,都是ok的~很奇怪,没有想象的那么激动,感觉只是避开了问题,没有找到核心。
但是接下来又和同事聊,发现有人说是display:none的问题,又想到了,如果在那3-5s间将uploader展示,确实是能够正确显示的!!于是在我本地的demo测试了一下,是的!!!如果通过按钮来展现uploader容器,展现出来以后的上传按钮在IE下是不可用的。
至此,对问题的整体算是有了一个比较清晰的思路:
使用silverlight:在初始化后3-5s内将uploader的display设置为block,能够正常使用,否则控件不能使用。
使用html4:通过按钮控制容器展现后,在IE任何版本下,add files 按钮都不能弹出选择文件的框体,在ff和chrome下正常。
好了,现在开始准备解决:
因为页面的需要,初始是不能将上传控件页面展示出来的,这样太难看了,使用使用html4就排除了,那么silverlight,不能要求用户初始化后3-5s内立刻点击。那么只能我控制。现在的初始化是在进入系统后立即进行的,那么就可以转移到用户点击上传开始初始化,同时展现uploader的容器~
OK,至此,问题算是很清晰的解决了。
这个bug算是花费了我2天的时间,总结起来,遇到问题要努力去寻找问题的根源,在这方面自己确实做的不足,以后要改正了,同时,英文搜索资料真的比中文的多啊。有时候遇到问题,可能只是一个点,你需要的只是一个提醒(可能是我脑子不够灵活,想的还是不够过,需要提醒)。
加油~↖(^ω^)↗
- 文件上传控件plupload的runtimes问题整理(html4、silverlight)
- 文件上传控件PlupLoad 的使用
- PLUpload文件上传的使用
- java多文件上传plupload控件实现多图片上传(一)
- java多文件上传plupload控件实现多图片上传(二)
- 文件上传工具plupload的使用后
- 用plupload+springMVC实现文件的上传
- 文件上传实例(使用plupload)
- 文件上传(利用oss 和plupload)
- 文件上传(利用oss 和plupload)
- html5上传文件和html4上传文件的区别
- 上传plupload的使用
- 多附件上传控件plupload的使用心得
- jquery 文件上传 Plupload API
- Web文件上传模块 Plupload
- plupload上传文件中文名乱码
- web 文件上传组件 Plupload
- 分享基于silverlight的一个大文件上传控件
- main函数同时打印if和else中的内容
- CSting 函数大全
- Graphviz的使用及中文乱码问题
- 给大家推荐一款高大上的代码高亮插件(sublime,github风格)——highlight.js
- Spring 查询中怎样使用RowMapper
- 文件上传控件plupload的runtimes问题整理(html4、silverlight)
- 天使监临人间
- U盘丢失照片怎么找回
- Page_Load Page_Init方法使用原理 Page 添加 事件
- Layout整理
- float和double类型的内存分布和比较方法收藏
- 独家:文章马伊琍全家密会编剧 或开始谋划新作
- Android - 小功能 - Android短信功能实现源码
- matlab中的plot