swfupload及“灵异”事件

首先要说明一下,这里的“灵异”事件跟恐怖、鬼魂无关,大体还在计算机技术范畴。

最近在开发过程中遇到很多“灵异”事件,其中一个跟swfupload有关。swfupload是一个用于上传文件的flash程序,开源,接口设计也清楚,网上也有很多文档,按理说很好用。可是,我在使用过程中屡屡碰到问题。一会是不能弹出文件选择框,一会页面报莫名奇妙的脚本错误。让我很郁闷。在网上查询一下,居然也有人遇到这个“灵异”事件了:四个小时的SWFUpload debug之旅 。看完文章,我修改了swfupload.js文件,试了一下,果然好使啊,真是高兴。可是第二天,同样的问题在另一个程序里又出现了:用FireFox没有问题,用IE就出问题了。琢磨了半天,发现我把跟swfupload交互的JS代码放到head部分里了,是不是因为这些代码执行的时候,HTML页面还没下载完毕,导致脚本异常?于是把这些代码都移到最后面,再测试,居然就OK了!自己得意了一下:)。没过10分钟,在IE由蹦出脚本错误的提示信息。真是晕啊,我都要怀疑自己的人品了。仔细看了IE给的错误信息,看的莫名奇妙,没有任何帮助。到楼下买了罐红牛,喝完之后继续DEBUG。一个小时之后,确信我的代码里没有JS脚本的问题,正要下楼再买一罐8倍牛磺酸的红牛,突然发现这个页面引用了两个CSS文件,其中一个CSS文件从svn更新过,不由得激动万分的打开这个CSS文件,果然,这个文件被修改过了,本来是纯英文的,现在加了几行中文的注释,而且,这个文件是GBK编码的,我的HTML模板是UTF-8编码的,于是。。。我都激动的要哭了。。。

总结一下:
1、swfupload跟浏览器通过ExternalInterface/JS进行交互,在某些时候存在BUG,暂时可以通过修改swfupload.js解决。
2、如果你用utf-8开发网站,切记js、css文件也有转成utf-8编码的。
3、你的代码即使没有修改过,但是引用的外部资源可能被修改过了,一定要注意!!

 

 

你可能感兴趣的:(计算机技术)