UNPKG

dzxstatic

Version:

The static files of Discuz! X

1 lines 3.01 kB
function make_html(t,e){var i=Ajax();t&&t.indexOf("?")<0&&(t+="?"),i.getJSON(t+"&_makehtml&r="+ +new Date,(function(t){var i=e&&e.getAttribute("mktitle")||"";t&&(t=t.data)&&"html_ok"==t.status?(e&&(e.style.color="blue",e.innerHTML='<a href="'+t.path+'" target="_blank">'+i+"生成成功</a>"),t.nexturl&&(e&&(e.style.color="green",e.innerHTML="生成"+i+Math.round(t.current/t.count*100)+"%"),make_html(t.nexturl,e))):e&&(e.style.color="red",e.innerHTML=i+"生成失败")}))}function make_html_batch(t,e,i,a,s){if(this.url=t,this.ids=e,this.count=this.ids.length,this.callback=i,this.dom=a,this.single=s&&1,this.makedcount=0,this.jumptime=2e3,this.single)this.make(this.ids,this.dom);else if(this.ids){id=this.ids.pop();var l=document.createElement("div");l.style.color="green",progress_bar((1/this.count*100).toFixed(2)),l.innerHTML="开始生成"+this.dom.getAttribute("mktitle"),this.dom.innerHTML="",this.dom.appendChild(l),this.make(id,l),this.child=l;var r=document.createElement("div");r.innerHTML='<a href="javascript:void(0);" id="mk_goon">如果您的浏览器没有反应,请点击继续...</a>',this.dom.appendChild(r);var o=this;$("mk_goon").onclick=function(t){make_html_batch.prototype.make_goon.call(o,t)}}}function progress_bar(t){var e=$("progress_bar");if(e){"block"!=e.style.display&&(e.style.display="block");var i=t/100*400;e.style.borderLeftWidth=i+"px",e.style.width=400-i+"px"}}function progress_bar_reset(){var t=$("progress_bar");t&&(t.style.display="none",t.style.borderLeftWidth="1px",t.style.width="400px")}make_html_batch.prototype={make_goon:function(){if(this.ids.pop())this.make(this.ids.pop(),this.child);else if(this.callback){var t=this;setTimeout((function(){t.dom.style.display="none",t.callback()}),1e3)}},make:function(t,e){var i=this,a=Ajax();a.getJSON(this.url+t+"&_makehtml&r="+ +new Date,(function(a){if(a&&(data=a.data)&&"html_ok"==data.status)i.makedcount++,data.nexturl&&make_html(data.nexturl);else if(a&&a.message){var s=$("makehtml_error");s||(i.jumptime=5e5,(s=document.createElement("div")).style.color="red",s.style.height="200px",s.style.overflow="scroll",s.id="makehtml_error",s.innerHTML="错误信息",i.dom.appendChild(s)),s.innerHTML+="<br>[id:"+t+"]"+a.message,s.scrollTop=s.scrollHeight}if(i.single)e.style.color="blue",e.innerHTML='<div class="mk_msg"><a href="'+data.path+'" target="_blank">'+i.dom.getAttribute("mktitle")+"</a>生成完成</div>",i.callback&&setTimeout((function(){i.callback()}),2e3);else if((t=i.ids.pop())||0==i.ids.length){var l=i.count-i.ids.length,r=(l/i.count*100).toFixed(2);progress_bar(r);var o="本次共需要生成"+i.count+"个"+i.dom.getAttribute("mktitle")+"文件,成功生成"+i.makedcount+"个,";100!=r?e.innerHTML=o+"正在生成第"+l+"个,已经完成"+r+"%":(e.style.color="blue",e.innerHTML=o+i.dom.getAttribute("mktitle")+"生成完成"),t?i.make(t,e):i.callback&&setTimeout((function(){progress_bar_reset(),i.dom.innerHTML="",i.dom.style.display="none",i.callback()}),i.jumptime)}})),delete a}};