<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網 責編:小采 時間:2020-11-27 22:51:55
        文檔

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

        ajax文件上傳成功 解決瀏覽器兼容問題:ajaxfileupload控制很好用,不過發現上傳文件后的結果為被瀏覽器處理,IE不會,谷哥和火狐都會進行處理,而且谷哥和火狐處理后的結果都不一樣,這里對以上三種瀏覽器進行了兼容性調整。 jQuery.extend({ createUploadIframe: function
        推薦度:
        導讀ajax文件上傳成功 解決瀏覽器兼容問題:ajaxfileupload控制很好用,不過發現上傳文件后的結果為被瀏覽器處理,IE不會,谷哥和火狐都會進行處理,而且谷哥和火狐處理后的結果都不一樣,這里對以上三種瀏覽器進行了兼容性調整。 jQuery.extend({ createUploadIframe: function

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

        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
         * 對文件上傳后的響應結果進行處理,支持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!=null&&stri1!="" &&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] );
         }
        });

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

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        ajax文件上傳成功 解決瀏覽器兼容問題:ajaxfileupload控制很好用,不過發現上傳文件后的結果為被瀏覽器處理,IE不會,谷哥和火狐都會進行處理,而且谷哥和火狐處理后的結果都不一樣,這里對以上三種瀏覽器進行了兼容性調整。 jQuery.extend({ createUploadIframe: function
        推薦度:
        標簽: 文件 上傳 瀏覽器
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 黄在线观看www免费看| 久久er国产精品免费观看2| 成人毛片免费网站| 亚洲第一区视频在线观看| 日韩在线不卡免费视频一区| 亚洲成AV人片在线观看WWW| a毛片视频免费观看影院| 国精无码欧精品亚洲一区| 青青操免费在线视频| 亚洲毛片在线观看| 91精品免费不卡在线观看| 亚洲国产精品网站久久| 一二三四在线观看免费高清中文在线观看 | 亚洲码在线中文在线观看| 最近最新高清免费中文字幕| 亚洲免费在线视频| 希望影院高清免费观看视频| 亚洲粉嫩美白在线| avtt亚洲天堂| 免费无码又爽又刺激网站直播| 亚洲av日韩av高潮潮喷无码 | yy一级毛片免费视频| 亚洲国产精品一区二区成人片国内| 在线看片免费人成视频久网下载| 亚洲精品一品区二品区三品区| 最近中文字幕大全免费视频| 日本亚洲免费无线码 | 久久夜色精品国产亚洲| 91九色视频无限观看免费| 亚洲国产精品日韩av不卡在线| 亚洲?v女人的天堂在线观看| 成人久久免费网站| 亚洲日本乱码卡2卡3卡新区| 四虎影视在线永久免费看黄| 中文字幕无码日韩专区免费| 亚洲AV无码一区二区三区人 | 亚洲高清在线观看| 一个人免费观看视频www| 人妖系列免费网站观看| 亚洲男人天堂av| 免费无遮挡无码永久在线观看视频|