請問一下 下面這段JS為什麼在電腦能正確運行,手機上卻無效?
$(".add_file input").change(function(){
var _t =this.files[0];
if(_t.size > 512000000){
alert("文件太大了");
}
else{
if(_t.type.indexOf('image') >= 0){
$(this).parent('li').addClass('change');
}else if(_t.type.indexOf('text')>=0) {
$(this).siblings('.preview').html('<i class="icon-file-pdf"></i><p>'+_t.name+'</p>');
$(this).parent('li').addClass('change');
}else if(_t.type.indexOf('audio')>=0) {
alert("是音頻");
}else if(_t.type.indexOf('video')>=0) {
alert("是視頻");
}else if(_t.type.indexOf('zip')>=0) {
alert("是壓縮包");
}else{
alert('不支持')
}
}
}) ;
謝謝。
android chrome測試你的這個代碼沒有問題,應該是你使用的浏覽器對this.files支持有問題
而且你的再IE8-電腦也無法運行,ie file對象沒有files屬性
檢查文件類型可以用判斷下後綴,大小再ie下無解,而且也最好再服務器端再驗證過一次。
if(!/\.(txt|jpg|bmp|png|gif|zip|rar|mp3|mp4)$/i.test(this.value)){//其他的後綴自己添加
}