blob: 5fee8eb96d57b7cfaba1d54e2fc12011b1bf5c4f [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001
2
3$.download = function(url, data, method, callback){
4 var inputs = '';
5 var iframeX;
6 var downloadInterval;
7 if(url/* && data*/){
8 // remove old iframe if has
9 if($("#iframeX")) $("#iframeX").remove();
10 // creater new iframe
11 iframeX= $('<iframe src="[removed]false;" name="iframeX" id="iframeX"></iframe>').appendTo('body').hide();
12 if($.browser.msie){
13 downloadInterval = setInterval(function(){
14 // if loading then readyState is “loading” else readyState is “interactive”
15 if(iframeX&& iframeX[0].readyState !=="loading"){
16 if(undefined != callback)
17 callback();
18 clearInterval(downloadInterval);
19 }
20 }, 23);
21 } else {
22 iframeX.load(function(){
23 if(undefined != callback)
24 callback();
25 });
26 }
27
28 jQuery.each(data.split('&'), function(){
29 var pair = this.split('=');
30 inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
31 });
32
33 //create form to send request
34 $('<form action="'+ url +'" method="'+ (method||'post') + '" target="iframeX">'+inputs+'</form>').appendTo('body').submit().remove();
35 }
36}