foosun 免费版 4.0sp5 生成静态页的速度太慢了,那能否改进呢?
看下以下几段JS代码. 系统使用了 ajax 来刷新生成页面.这个过程,网络响应就要减少速度.
关于这个,搜索一下,有位朋友已经做个插件出来改进了.
我这里就再来说下.
function Start_Refresh(url,Action){
var myAjax = new Ajax.Request(
url,
{method:'get',
parameters:Action,
onComplete:Refresh_Receive
}
);
}
function Refresh_Receive(OriginalRequest){
var check,goback;
var percent=0;
//goback="<a href=\"返回\" onclick=\"location.reload();return false;\">返回</a>";
goback="<a href=\"返回\" onclick=\"$('RefreshMain').style.display='';$('RefreshSchedule').style.display='none';return false;\">返回</a>";
if (OriginalRequest.responseText.indexOf("$")>-1){
check=OriginalRequest.responseText.split("$");
switch (check[0]) {
case "MF" :
$("RefreshLen").style.width ="100%";
$("RefreshLen").innerHTML=" <span class=\"xingmu\">100%</span>";
$('result_str').innerHTML="首页发布结束 <a href=\"http:\/\/<%= Request.Cookies("FoosunMFCookies")("FoosunMFDomain")&"\/"&Request.Cookies("FoosunMFCookies")("FoosunMFIndexFileName") %>\" target=\"_blank\">浏览首页<\/a> "+goback;
countnum=1;
break;
case "Next" :
percent=(parseInt(check[2])/parseInt(check[1]))*100;
percent=Math.round(percent);
$("RefreshLen").style.width =percent+"%";
$("RefreshLen").innerHTML=" <span class=\"xingmu\">"+percent+"%</span>";
$('result_str').innerHTML="总共要发布" + check[1] + "条内容,已经发布" + check[2] + "条内容...";
//Start_Refresh("PublicSite/Public_Refresh.asp","");
'看下面这几句,什么意思呢?
countnum 是当前成功生成数量,
G_REFRESH_NUM_TIME 应该是设置的设新频率.'然后,再次提交,服器又再生成页面.
'其实觉得很奇怪,为什么要这样刷新呢?为什么不直接在服务器生成10个或者更多的页面呢?
'这绝对影响了生成速度.
if ((countnum % G_REFRESH_NUM_TIME)==0){
window.setTimeout("Start_Refresh(\"PublicSite/Public_Refresh.asp\",\"\")",1000);
}else{
Start_Refresh("PublicSite/Public_Refresh.asp","");
}
countnum++;
break;
case "End" :
$("RefreshLen").style.width ="100%";
$("RefreshLen").innerHTML=" <span class=\"xingmu\">100%</span>";
$('result_str').innerHTML="总共要发布" + check[1] + "条内容,已经发布" + (check[2]-1) + "条内容...";
$('result_str').innerHTML=$('result_str').innerHTML+"<br />发布结束 "+goback;
countnum=1;
break;
case "No" :
$('result_str').innerHTML="没有要发布的内容 "+goback;
countnum=1;
break;
default :
//alert(OriginalRequest.responseText);
//$('result_str').innerHTML=OriginalRequest.responseText;
//Start_Refresh("PublicSite/Public_Refresh.asp","");
$('result_str').innerHTML="发布失败,请与管理员联系。 "+goback+"<br>错误描述如下:ID:<span class=\"tx\">"+check[1]+"</span>,<span class=\"tx\">"+check[2]+"</span>";
//Start_Refresh("PublicSite/Public_Refresh.asp","");
}
}
else{
$('result_str').innerHTML="发布失败,请与管理员联系。 "+goback+"<br>错误描述如下:"+OriginalRequest.responseText;
}
}
'还未看清楚,等下再发表如何改进