解决:swfupload在IE9中不显示上传按钮的问题

问题描述:

使用swfupload.js上传文件,IE8、火狐、谷歌浏览器中显示正常,但是在IE9下不能显示上传按钮。

解决方法:

打开swfupload.js文件找到307行开始的如下代码:

// Private: getFlashHTML generates the object tag needed to embed the flash in to the document

SWFUpload.prototype.getFlashHTML = function (flashVersion) {

    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay

    return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', (this.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',

                '<param name="wmode" value="', this.settings.button_window_mode, '" />',

                '<param name="movie" value="', (this.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '" />',

                '<param name="quality" value="high" />',

                '<param name="allowScriptAccess" value="always" />',

                '<param name="flashvars" value="' + this.getFlashVars() + '" />',

                '</object>'].join("");

};

 

 

 

将其替换为:

 

 

// Private: getFlashHTML generates the object tag needed to embed the flash in to the document

SWFUpload.prototype.getFlashHTML = function (flashVersion) {

    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay

 

    //处理IE9中不显示上传按钮的情况

    var classid = "";

    var Sys = {};

    var ua = navigator.userAgent.toLowerCase();

    if (window.ActiveXObject)

        Sys.ie = ua.match(/msie ([\d.]+)/)[1]

    if (Sys.ie && Sys.ie.substring(0, 1) == "9") {

        classid = ' classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';

    }

    return ['<object', classid, ' id="', this.movieName, '" type="application/x-shockwave-flash" data="', (this.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',

                '<param name="wmode" value="', this.settings.button_window_mode, '" />',

                '<param name="movie" value="', (this.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '" />',

                '<param name="quality" value="high" />',

                '<param name="allowScriptAccess" value="always" />',

                '<param name="flashvars" value="' + this.getFlashVars() + '" />',

                '</object>'].join("");

};

注:以上代码在IE7、IE8、IE9、火狐(Firefox 11.0)、谷歌(Google Chrome 17.0.963.83)浏览器中测试运行正常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值