加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:42:21 所属栏目:百科 来源:网络整理
导读:问题描述: 使用 swfupload.js 上传文件 , 在 IE8 、火狐、谷歌浏览器中显示正常,但是在 IE9 下不能显示上传按钮。 解决方法: 打开 swfupload.js 文件找到 307 行开始的如下代码: // Private: getFlashHTML generates the object tag needed to embed the

问题描述:

使用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,?'" />',208)"> ????????????????'<param name="movie" value="',(this.support.imageResize ?this.settings.flash_url :?this.settings.flash9_url),208)"> ????????????????'<param name="quality" value="high" />',208)"> ????????????????'<param name="allowScriptAccess" value="always" />',208)"> ????????????????'<param name="flashvars" value="'?+?this.getFlashVars() +?'" />',208)"> ????????????????'</object>'].join("");

};

?

将其替换为:

?

?

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

SWFUpload.prototype.getFlashHTML =?function?(flashVersion) {

???? ?

????//处理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.settings.button_width,208)"> ????????????????'<param name="wmode" value="',208)"> ????????????????'<param name="movie" value="',208)"> ????????????????'<param name="quality" value="high" />',208)"> ????????????????'<param name="allowScriptAccess" value="always" />',208)"> ????????????????'<param name="flashvars" value="'?+?this.getFlashVars() +?'" />',208)"> ????????????????'</object>'].join("");

};

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


说明:修改前后的属性this.support.imageResize,不同的版本可能没有该属性。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读