ajaxfileupload.js上传文件兼容IE7及以上版本

时间:2022-08-25 20:13:07

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