超长文章自动分页,用ASP和JS实现 :
/* written by Jaron ,2002-07-15 */
/* 原出处:MVPCN Blog (http://blog.) */
/* 转载请注明出处和保留此版权信息*/
/* 欢迎使用SiteManager网站管理系统 http://demo. */
原文出处: http://blog.
这两天看到有朋友提出文章自动分页的问题,贴出我原来系统中的一部分代码,供大家参照,看是否有需要改进的地方或有更好的建议,其实偶们公司最近的项目都是用c#,ASP已经很少用了...
这里只贴出了一部分代码,有兴趣的朋友,可以在
http://demo. 测试,管理端 http://demo. 帐号和密码都是 demo
生成后的页面的演示:
---------------
http://demo.
http://demo.
http://demo.
http://demo.
JavaScript脚本部分
======================
以下是代码片段:
function submitPostIfRame(mode){
var sMarkup = doc_html.getHTML(); //从html编辑器中取数据
with(document.forms[0]){
doc_html.document.open();
doc_html.document.write(sMarkup);
doc_html.document.close();
doc_html.document.body.innerHTML = sMarkup;
var oBody=doc_html.document.body;
var oHTML="";
for(var i=0;i if(i!=oBody.childNodes.length-1){
if(oBody.childNodes[i].nodeType==3){
oHTML+=oBody.childNodes[i].nodeValue+"";
}else{
oHTML+=oBody.childNodes[i].outerHTML+"";
}
}else{
if(oBody.childNodes[i].nodeType==3){
oHTML+=oBody.childNodes[i].nodeValue;
}else{
oHTML+=oBody.childNodes[i].outerHTML;
}
}
}
news_content.value = oHTML
}
return true;
}
ASP脚本部分
===============
以下是代码片段:
Function calculate_pagination(strContent, pSize)
On Error Resume Next
Dim aCon, intfor, intCount, strTemp, strTemp2
aCon = Split(strContent, "", -1, 1)
intCount = UBound(aCon)
strTemp = ""
strTemp2 = ""
Page = 1
For intfor = 0 To intCount
strTemp = strTemp & aCon(intfor)
strTemp2 = strTemp2 & RemoveHTML(aCon(intfor))
strTemp2 = strTemp2 & aCon(intFor)
If Len(strTemp2) >= pSize Then
Page = Page + 1
strTemp = ""
strTemp2 = ""
End If
Next
If strTemp2 <> "" Then Page = Page - 1
calculate_pagination = Page
If Err.Number <> 0 Then
calculate_pagination = 1
Err.Clear
End If
End Function
Function get_page_text(strContent, pagenum, totalpage, pSize)
aCon = Split(strContent, "", -1, 1)
intCount = UBound(aCon)
strTemp = ""
strTemp2 = ""
Page = 1
For intfor = 0 To intCount
strTemp = strTemp & aCon(intfor)
strTemp2 = strTemp2 & RemoveHTML(aCon(intfor))
strTemp2 = strTemp2 & aCon(intFor)
If Len(strTemp2) >= pSize Then
If pagenum = Page Then
get_page_text = strTemp
Exit For
End If
Page = Page + 1
strTemp = ""
strTemp2 = ""
End If
Next
If strTemp2 <> "" And pagenum > Page - 1 Then get_page_text = strTemp
End Function
看不懂