zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

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

打开SwfUpload.js,在js文件中找到//Private:getFlashHTMLgeneratestheobjecttagneededtoembedtheflashintothedocument”这行和“//Private:getFlashVarsbuildstheparameterstringthatwillbepassed”和这行,然后把中间的用如下代码替换就OK了

复制代码代码如下:

SWFUpload.prototype.getFlashHTML=function(flashVersion){
//FlashSatayobjectsyntax:http://www.alistapart.com/articles/flashsatay
varclassid="";
varSys={};
varua=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">",
"<paramname="wmode"value="",this.settings.button_window_mode,""/>",
"<paramname="movie"value="",(this.support.imageResize?this.settings.flash_url:this.settings.flash9_url),""/>",
"<paramname="quality"value="high"/>",
"<paramname="allowScriptAccess"value="always"/>",
"<paramname="flashvars"value=""+this.getFlashVars()+""/>",
"</object>"].join("");
};

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