婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ajax文件上傳成功 解決瀏覽器兼容問題

ajax文件上傳成功 解決瀏覽器兼容問題

熱門標簽:云呼外撥網(wǎng)絡(luò)電話系統(tǒng) 騰訊地圖標注位置能用多久 個人怎樣在百度地圖標注地名 地圖標注項目怎么樣 機器人電銷騙局揭秘 超級大富翁地圖標注 硅語電話機器人公司 ai機器人電銷資源 越南河內(nèi)地圖標注

ajaxfileupload控制很好用,不過發(fā)現(xiàn)上傳文件后的結(jié)果為被瀏覽器處理,IE不會,谷哥和火狐都會進行處理,而且谷哥和火狐處理后的結(jié)果都不一樣,這里對以上三種瀏覽器進行了兼容性調(diào)整。

jQuery.extend({
 createUploadIframe: function(id, uri)
 {
 //create frame
 var frameId = 'jUploadFrame' + id;
 var iframeHtml = 'iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
 if(window.ActiveXObject)
 {
  if(typeof uri== 'boolean'){
  iframeHtml += ' src="' + 'javascript:false' + '"';
 
  }
  else if(typeof uri== 'string'){
  iframeHtml += ' src="' + uri + '"';
 
  } 
 }
 iframeHtml += ' />';
 jQuery(iframeHtml).appendTo(document.body);
 
 return jQuery('#' + frameId).get(0);  
 },
 createUploadForm: function(id,fileElementId,data,fileElement)
 {
 //create form 
 var formId = 'jUploadForm' + id;
 var fileId = 'jUploadFile' + id;
 var form = jQuery('form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data">/form>'); 
 if(data)
 {
  for(var i in data)
  {
  jQuery('input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);
  }  
 }
 var oldElement;
 if(fileElement == null)
  oldElement = jQuery('#' + fileElementId);
 else
  oldElement = fileElement;
  
 var newElement = jQuery(oldElement).clone();
 jQuery(oldElement).attr('id', fileId);
 jQuery(oldElement).before(newElement);
 jQuery(oldElement).appendTo(form);
  
 //set attributes
 jQuery(form).css('position', 'absolute');
 jQuery(form).css('top', '-1200px');
 jQuery(form).css('left', '-1200px');
 jQuery(form).appendTo('body'); 
 return form;
 },
 
 ajaxFileUpload: function(s) {
 // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout 
 s = jQuery.extend({}, jQuery.ajaxSettings, s);
 var id = new Date().getTime() 
 var form = jQuery.createUploadForm(id, s.fileElementId, (typeof(s.data)=='undefined'?false:s.data),s.fileElement);
 var io = jQuery.createUploadIframe(id, s.secureuri);
 var frameId = 'jUploadFrame' + id;
 var formId = 'jUploadForm' + id; 
 // Watch for a new set of requests
 if ( s.global  ! jQuery.active++ )
 {
  jQuery.event.trigger( "ajaxStart" );
 }  
 var requestDone = false;
 // Create the request object
 var xml = {} 
 if ( s.global )
  jQuery.event.trigger("ajaxSend", [xml, s]);
 // Wait for a response to come back
 var uploadCallback = function(isTimeout)
 {  
  var io = document.getElementById(frameId);
  try
  {  
  if(io.contentWindow)
  {
   xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
   xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
   
  }else if(io.contentDocument)
  {
   xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
   xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
  }   
  }catch(e)
  {
  jQuery.handleError(s, xml, null, e);
  }
  if ( xml || isTimeout == "timeout") 
  {  
  requestDone = true;
  var status;
  try {
   status = isTimeout != "timeout" ? "success" : "error";
   // Make sure that the request was successful or notmodified
   if ( status != "error" )
   {
   // process the data (runs the xml through httpData regardless of callback)
   console.log( jQuery.uploadHttpData);
   var data = jQuery.uploadHttpData(xml,s.dataType ); 
   // If a local callback was specified, fire it and pass it the data
   if ( s.success )
    s.success( data, status );
 
   // Fire the global callback
   if( s.global )
    jQuery.event.trigger( "ajaxSuccess", [xml, s] );
   } else
   jQuery.handleError(s, xml, status);
  } catch(e) 
  {
   status = "error";
   jQuery.handleError(s, xml, status, e);
  }
 
  // The request was completed
  if( s.global )
   jQuery.event.trigger( "ajaxComplete", [xml, s] );
 
  // Handle the global AJAX counter
  if ( s.global  ! --jQuery.active )
   jQuery.event.trigger( "ajaxStop" );
 
  // Process result
  if ( s.complete )
   s.complete(xml, status);
 
  jQuery(io).unbind()
 
  setTimeout(function()
     { try
     {
      jQuery(io).remove();
      jQuery(form).remove(); 
      
     } catch(e) 
     {
      jQuery.handleError(s, xml, null, e);
     }     
 
     }, 100)
 
  xml = null
 
  }
 }
 // Timeout checker
 if ( s.timeout > 0 ) 
 {
  setTimeout(function(){
  // Check to see if the request is still happening
  if( !requestDone ) uploadCallback( "timeout" );
  }, s.timeout);
 }
 try
 {
 
  var form = jQuery('#' + formId);
  jQuery(form).attr('action', s.url);
  jQuery(form).attr('method', 'POST');
  jQuery(form).attr('target', frameId);
  if(form.encoding)
  {
  jQuery(form).attr('encoding', 'multipart/form-data');  
  }
  else
  { 
  jQuery(form).attr('enctype', 'multipart/form-data');  
  }  
  jQuery(form).submit();
 
 } catch(e) 
 {  
  jQuery.handleError(s, xml, null, e);
 }
  
 jQuery('#' + frameId).load(uploadCallback);
 return {abort: function(){
  try
  {
  jQuery('#' + frameId).remove();
  jQuery(form).remove();
  }
  catch(e){}
 }};
 },
 
 uploadHttpData: function( r, type ) {
 var data ="";
 data = (type == "xml" ? r.responseXML : r.responseText);
 if ( type == "script" )
  jQuery.globalEval( data );
 /**
  * auth garen 2016-06-17
  * 對文件上傳后的響應結(jié)果進行處理,支持IE FF GC
  * */
 if ( type == "json" ){
  var reg ="";
  if(data.indexOf("pre>")>-1){
  reg=/pre>(.+)\/pre>/g;
  }else{  
  reg=/pre.+?>(.+)\/pre>/g; 
  }
  var result = data.match(reg);
  var stri1=RegExp.$1; 
  if(stri1!=nullstri1!="" stri1.trim().length>0){
   data = stri1;  
  }
  eval( "data =" + data);
 }
 if ( type == "html" )
  jQuery("div>").html(data).evalScripts();
 return data;
 },
 
 handleError: function( s, xml, status, e ) {
 // If a local callback was specified, fire it
 if ( s.error )
  s.error( xml, status, e );
 
 // Fire the global callback
 if ( s.global )
  jQuery.event.trigger( "ajaxError", [xml, s, e] );
 }
});

更多精彩內(nèi)容請參考專題《ajax上傳技術(shù)匯總》,《javascript文件上傳操作匯總》和《jQuery上傳操作匯總》進行學習。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。

您可能感興趣的文章:
  • AJAX和JSP實現(xiàn)的基于WEB的文件上傳的進度控制代碼
  • ajax 文件上傳應用簡單實現(xiàn)
  • jQuery Ajax文件上傳(php)
  • Easy.Ajax 部分源代碼 支持文件上傳功能, 兼容所有主流瀏覽器
  • Ajax方式提交帶文件上傳的表單及隱藏iframe應用
  • 利用ajaxfileupload插件實現(xiàn)文件上傳無刷新的具體方法
  • php+ajax實現(xiàn)圖片文件上傳功能實例
  • ajaxFileUpload.js插件支持多文件上傳的方法
  • ThinkPHP結(jié)合AjaxFileUploader實現(xiàn)無刷新文件上傳的方法
  • 基于ajax實現(xiàn)文件上傳并顯示進度條

標簽:海南 鄭州 林芝 內(nèi)蒙古 舟山 遼源 洛陽 邢臺

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ajax文件上傳成功 解決瀏覽器兼容問題》,本文關(guān)鍵詞  ajax,文件,上傳,成功,解決,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ajax文件上傳成功 解決瀏覽器兼容問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于ajax文件上傳成功 解決瀏覽器兼容問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久伊99综合婷婷久久伊| 欧美久久一区二区| 欧美aaaaa成人免费观看视频| 亚洲午夜久久久久久久久电影网 | 欧美精品久久一区| 欧美一区二区在线免费播放| 欧美日韩国产三级| 久久综合视频网| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 18成人在线观看| 亚洲va在线va天堂| 韩国欧美国产1区| 成人教育av在线| 欧美综合亚洲图片综合区| 欧美日韩午夜精品| 久久久久国产精品人| 国产精品久久三| 亚洲国产综合色| 国产一区二三区| 欧美日韩欧美一区二区| 久久亚洲私人国产精品va媚药| 亚洲免费观看在线观看| 国产一区二区在线电影| 欧美韩国日本综合| 成人综合日日夜夜| 亚洲国产日韩一级| 欧美人狂配大交3d怪物一区| 亚洲综合在线观看视频| 91福利视频久久久久| 中文字幕制服丝袜成人av| 色婷婷亚洲精品| 亚洲国产另类av| 国产日韩精品一区二区三区在线| 午夜私人影院久久久久| 亚洲综合网站在线观看| 成人性生交大片免费看视频在线| 日韩欧美一区二区在线视频| 亚洲高清免费视频| 色吧成人激情小说| 国产欧美1区2区3区| www.激情成人| 精品国产麻豆免费人成网站| 亚洲综合一二三区| 99天天综合性| 国产精品丝袜在线| 国产专区综合网| 欧美久久久久久久久中文字幕| 日韩理论片在线| 国产一区二区三区免费看| 中文字幕亚洲一区二区va在线| 日产国产高清一区二区三区| 成人国产精品免费观看视频| 国产精品一线二线三线| 亚洲成a人片在线观看中文| 国产乱人伦偷精品视频不卡| 91精品婷婷国产综合久久性色 | 美国毛片一区二区三区| 亚洲与欧洲av电影| 久草在线在线精品观看| 亚洲综合清纯丝袜自拍| 国产一区999| 欧美一区二区大片| 亚洲一级电影视频| 欧美体内she精高潮| 日韩久久一区二区| 99re这里只有精品视频首页| 欧美高清www午色夜在线视频| 国产精品视频你懂的| 国产麻豆一精品一av一免费 | 日韩一二三区视频| 91啦中文在线观看| 91精品国产综合久久福利| 国产98色在线|日韩| 亚洲色图另类专区| 久久影院午夜片一区| 亚洲国产精华液网站w| 午夜婷婷国产麻豆精品| 日本vs亚洲vs韩国一区三区| 欧美自拍偷拍午夜视频| 国产米奇在线777精品观看| 精品一区二区三区免费视频| 高清不卡一区二区| 欧美午夜电影一区| 中文文精品字幕一区二区| 免费成人在线网站| 91美女视频网站| 亚洲欧美日韩国产手机在线| 国产一区欧美一区| 久久久久久久久久久久电影| 国产乱码精品一区二区三区av | 国产精品456| 国产精品视频你懂的| 99视频在线精品| 日本aⅴ精品一区二区三区 | 豆国产96在线|亚洲| 欧美国产在线观看| 色综合欧美在线视频区| 日韩二区三区在线观看| 国产亚洲欧美一区在线观看| 97久久人人超碰| 激情综合色播激情啊| 国产精品蜜臀av| 7878成人国产在线观看| 99久久夜色精品国产网站| 日韩va亚洲va欧美va久久| 国产无一区二区| 日韩欧美激情一区| 欧美日韩aaa| 欧美精品aⅴ在线视频| 波多野洁衣一区| 成人一区二区在线观看| 在线免费av一区| 国产999精品久久久久久| 美女视频黄 久久| 亚洲不卡一区二区三区| 国产精品情趣视频| 精品国产乱码久久久久久1区2区| 97aⅴ精品视频一二三区| 理论片日本一区| 日本不卡免费在线视频| 亚洲欧美乱综合| 中文字幕色av一区二区三区| 日本aⅴ亚洲精品中文乱码| 午夜精品久久久久久久久久久| 国产精品欧美综合在线| 夜夜精品视频一区二区| 亚洲一区视频在线| 久久99精品久久久久久| 国产a级毛片一区| 在线精品视频免费观看| 91精品国产欧美一区二区成人| 精品久久五月天| 亚洲美女少妇撒尿| 国产精一区二区三区| 国产99久久久国产精品潘金| 91精品办公室少妇高潮对白| 欧美久久一二区| 亚洲猫色日本管| 国产精品91一区二区| 欧美在线免费观看视频| 精品电影一区二区三区| 视频在线在亚洲| 国产精品一区二区男女羞羞无遮挡| 成人av电影在线观看| 精品国产污网站| 日韩av不卡一区二区| 在线免费不卡视频| 亚洲综合激情小说| 99精品在线观看视频| 中文字幕在线不卡一区二区三区| 韩国毛片一区二区三区| 精品欧美乱码久久久久久1区2区| 午夜欧美电影在线观看| 欧美亚洲国产怡红院影院| 亚洲激情一二三区| 色综合天天狠狠| 国产精品激情偷乱一区二区∴| 国产精品一区二区视频| 久久久久久久综合狠狠综合| 国产91丝袜在线18| 欧美激情中文不卡| 粉嫩aⅴ一区二区三区四区| 国产精品福利在线播放| 欧美日韩一区二区三区四区| 亚洲成人动漫在线观看| 精品久久久久久久久久久久久久久久久| 五月天久久比比资源色| 精品国产三级电影在线观看| 成人深夜福利app| 亚洲一区二区三区四区五区黄| 精品国偷自产国产一区| 91精品办公室少妇高潮对白| 精品影视av免费| 亚洲精品国产视频| 欧美va日韩va| 欧美精品丝袜中出| 色婷婷综合久久久中文字幕| 五月激情综合婷婷| 亚洲国产高清不卡| 欧美日韩在线三级| 日韩国产欧美在线观看| 欧美精品一区二区三区视频| 国产成人精品www牛牛影视| 国产午夜精品久久久久久免费视 | 不卡视频一二三四| 亚洲美女免费视频| 欧美大片一区二区| 91在线观看污| 免费观看在线综合| 国产欧美一区二区三区鸳鸯浴| 色综合天天性综合| 国产精品国产自产拍高清av王其 | 色综合天天综合网天天看片| 国产成人高清视频| 国内精品久久久久影院色| 国产九色sp调教91| 一区二区三区四区精品在线视频| 91精品国产综合久久精品麻豆 | 亚洲欧美激情在线| 欧美zozo另类异族|