要兼容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);
}
})