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

问题

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值