您的位置:首页 > 其它

SWFupload在IE9中选择文件按钮无法点击bug解决方法

2015-04-25 23:39 881 查看

问题

IE9下,使用swfupload时出现时选择文件的按钮无法点击,在其他浏览器,例如Firefox、chrome都不会出现出现这种情况。

在ie9下面swf打不开,ie9下面debug开启,显示请求swfupload.swf的时候请求被挂起了,点击上传没反映,等了很久大概有5分钟吧,挂起请求请求200,一下子出来了三个请求flash的,这时候点击上传就正常了。

搞了半天,在网上找到这篇文章,原来是ie9在作祟,可能与ie9对active空间的要求有关吧,需要注册一个classid。

郁闷,搞了两个小时才查出来。

转自:http://www.cnblogs.com/blackice/archive/2013/02/16/2913087.html

解决方法

修改swfupload.js中的getFlahHTML方法,给object加上一个classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"属性,

如下:

SWFUpload.prototype.getFlashHTML = function () {
// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay var obj = ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">'].join('');
if(navigator.userAgent.indexOf("MSIE") > 0){
obj = ['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="', this.movieName, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">'].join("");
}
return 		[obj,
'<param name="wmode" value="', this.settings.button_window_mode, '" />',
'<param name="movie" value="', this.settings.flash_url, '" />',
'<param name="quality" value="high" />',
'<param name="menu" value="false" />',
'<param name="allowScriptAccess" value="always" />',
'<param name="flashvars" value="' + this.getFlashVars() + '" />',
'</object>'].join("");
};


[参考]:

Bug详细信息:https://code.google.com/p/swfupload/issues/detail?id=348
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: