SwfUpload在IE10上不出现上传按钮的解决方法

2019-12-24,,,

在系统测试过程中,发现使用了SwfUpload实现的无刷新上传功能,在IE10上竟然无法使用了,难道SwfUpload不支持吗?还是需要换一种实现方式呢?最后通过了解SwfUplad.JS文件发现,我们是可以修改的,让其支持IE10,具体解决方案如下:

打开SwfUpload.js,在js文件中找到// Private: getFlashHTML generates the object tag needed to embed the flash in to the document”这行和“// Private: getFlashVars builds the parameter string that will be passed”和这行,然后把中间的用如下代码替换就OK了

复制代码 代码如下:
SWFUpload.prototype.getFlashHTML = function (flashVersion) {
// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
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" || Sys.ie.substring(0, 2) == "10") {
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("");
};

保存,运行就可以看到效果了,完美!

您可能感兴趣的文章:

  • 使用SWFUpload实现无刷新上传图片
  • PHP swfupload图片上传的实例代码
  • swfupload ajax无刷新上传图片实例代码
  • phpcms模块开发之swfupload的使用介绍
  • SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
  • 为SWFUpload增加ASP版本的上传处理程序
  • swfupload 多文件上传实现代码
  • swfupload使用代码说明
  • 文件上传之SWFUpload插件(代码)
  • 文件上传插件SWFUpload的使用指南

《SwfUpload在IE10上不出现上传按钮的解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。