关于swfupload在IE9下失效的问题
刚到公司就收到客服那边丢过来的问题反馈,本来是准备测试其他问题的,突然发现文件上传功能在IE9下居然点了没反应(蛋疼一个先)。
打个断点调试一下,不行,跳flash了。寻求万能的google,果然有收获。
原来缺少了classid,classid 是 html中object 的一个标签属性,用于标识该标签使用了哪种对象。classid 值是个 uuid, 而flash 的ID 即是 d27cdb6e-ae6d-11cf-96b8-444553540000。果断找到swfupload.js的源码中,在拼接标签字符串的时候加上这一项(就是加到方法getFlashHTML中)。
还有一个问题是在搜索上面问题的过程中发现的,也顺便记录一下吧。就是原生对象的getAttribute方法找不到对象,可以把cleanUp方法中的if (typeof (movieElement[key]) === "function")改为 if (typeof (movieElement[key]) === "function" && key[0] <= 'Z') 。
再试一下,OK了。