要兼容IE789,要修改ajaxfileupload.js;要将此处的代码替换掉
if(window.ActiveXObject) { var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />'); if(typeof uri== 'boolean'){ io.src = 'javascript:false'; } else if(typeof uri== 'string'){ io.src = uri; } }
替换为:
var isIE = navigator.userAgent.indexOf("MSIE"); var ieVersion= isIE>-1?naigator.userAgent.substring(isIE+5,isIE+6):false; if(window.ActiveXObject) { if(ieVersion=="9" || naigator.userAgent.substring(isIE+5,isIE+7)=="10"){ var io = document.createElement('iframe'); io.id = frameId; io.name = frameId; }else if(ieVersion=="6" ||ieVersion=="7" || ieVersion=="8"){ var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />'); if(typeof uri== 'boolean'){ io.src = 'javascript:false'; } else if(typeof uri== 'string'){ io.src = uri; } }
在html中先引入jquery,再引入ajaxfileupload.js
html代码
<input type="file" id="uploadFile" name="uploadFile"/>
js代码
$.ajaxfileupload({ utl:"接口", secureuri:false,//是否需要安全协议,一般设为false fileElementId:"uploadFile",//文件上传域的ID dataType:"HTML",//返回值类型,一般为json,但是在低版本浏览器下会把json看成文件提示下载,就会没有回调函数,后台也要设置成"text/html" success:function(data){ if(typeof(data.error)!="undefined"){ if(data.error!=""){ alert(data.error); }else{ alert(data.msg); } } }, error:function(data,status,e){ alert(e); } })