主题:[原创]无组件带进度显示及服务器端XMLHTTP获取源带进度显示及函数库
[url=http://lawyer.hgfkj.com/fun.rar]下载源文件[/url]
演示:
上传带进度条:[url=http://lawyer.hgfkj.com/u.asp]http://lawyer.hgfkj.com/u.asp[/url]
说明,因为服务器采用家用ADSL做带宽,因此上传速度为50至60K每秒,但这说明了此上传组件可以利用最大带宽上传文件,可以上传几十M,甚至上百M文件都没问题。
服务器端获取其他网站源带进度条:[url=http://lawyer.hgfkj.com/]http://lawyer.hgfkj.com/
[/url]
说明:注册后查看“审判参考查询”可看到远程获取进度
说明:因远程获取利用了缓存,因此如果有人看过的页面,将不会远程再获取,可以多点此栏目的其他页面,应该可以看到进度显示的。
****************************************************
注:利用此函数库编写网站需采用JScript做为ASP的脚本语言。
****************************************************
使用说明:
1、包含Fun.asp文件
2、Fun.OutClientScript();输出客户端函数库,可选
3、Fun.OutHTMLPageTitle(PageTitle);输出HTML头,参考修改源代码,可选
4、如果连接了数据库,在ASP文件最后必需释放对象:FreeObj(CON);
5、如果有上传动作,需要:Fun.Upload.Close();
****************************************************
功能说明:
1、无组件带进度显示Fun.Upload
说明:详见《无组件上传使用方法》
历史:2007-5-19由原JScript版本更新为VBScript版本
2、全局函数与变量
变量:Hid,Act:识别提交数据标志,自动识别GET或POST方式提交
变量:CON:Adodb.Connection连接对象
函数:OpenRS(sql,pagesize):Adodb.Recordset:打开数据库集
函数:ExecSQL(sql):执行无返回SQL命令
函数:FreeObj(obj):无返回,释放对象实例
历史:2007-5-19
3、数据库连接
在cWeb类中修改代码,设定是否连接数据库、连接类型及连接参数
4、基本对象功能扩展
说明:客户端的扩展需要先输出客户端函数:Fun.OutClientScript();
String
.trim(n):截取字符串n个字符,一个中文按2个字符计算,如果有截取则加后缀"..."
如果n为undefined,则去掉前后空格
.Length():获取字符串长度,一个中文按2个字符计算
.Substr(start,n):获取字符串从start开始的n个字符,一个中文按2个字符计算
.AscB(idx):获取字符串第idx个字符的ASCII码,一个中文按2个字符计算
.toUnicode():将字符串以{方式进行Unicode编码
.isMail():检测是否字符串为邮件地址格式
.Null(str):如果字符串为空或为"undefined"或为"null",则输出str
.toDate():将字符串转换为日期,需要try来防止错误
.Encode():加密字符串
.Decode():解密字符串
Array
.remove(idx):从数组中移除idx项
.indexOf(obj):查找与obj相匹配的数组项idx,查找失败返回-1
.insertAt(obj,idx):在数组idx项之前插入obj,返回obj所在数组的idx
.Add(obj):在数组尾加入obj,返回obj所在数组的idx
.Adds():参数为可变,可多可少,依次被加入到数组尾,无返回值
.AddFirst(obj):插入obj到数组第一项,返回obj所在数组的idx
Date
.getDateString(flag):返回日期的字符串格式显示
无参数时,返回如:2007年1月31
flag=="-"时,返回如:2007-1-31
.Add(num,flag):日期添加一定时间单位后返回
num:添加日期的数值,默认为1
flag:"Y","M","D","h","m","s",依次为年月日时分秒,取其一,默认为"D"
注:该函数将修改自身日期值,而不是仅仅通过返回输出新值
.Sub(num,flag):日期减去一定时间单位后返回
参数同.Add()
注:该函数将修改自身日期值,而不是仅仅通过返回输出新值
.Diff(enddate,flag):取两个日期差值:enddate-this
flag:"D","h","m","s",依次为日时分秒,默认为"D"
enddate:另一个日期,返回值为:enddate-this
.DaysInMonth():取日期当月中的天数共有多少天
Number
.trim(p):小数位数格式化,默认参数为0,例:50.234.trim(2)=50.23
.FormatSize(flag,p):将数字以Size格式显示
flag:"GB","MB","KB",取其一,为undefined时,自动根据数字取最佳值
p:小数点位数,默认为2,即保留2位小数
例:1024.FormatSize("KB",0)="1 KB"
5、服务端对象Fun
.Request(fieldname):自动识别GET或POST方法提交的数据,返回值
注:同时如果有上传,会自动显示上传进度,使用Fun.Upload返回
上传详见:《无组件上传使用方法Fun.Upload》
.alert(str):输出到客户端脚本,以响应模拟alert提示框
.GoUrl(url,who):输出到客户端脚本,使页面转向
who:转向窗口,默认为"self"
.Reload(who):输出到客户端脚本,重载页面
who:转向窗口,默认为"self"
.PlaySwf(fn,w,h,flag):输出到客户端脚本,显示flash动画
flag=="true"时,flash动画透明背景
flash客户端输出代码格式:详见《Flash代码》
.ExecScript(script,lan):输出到客户端脚本,以lan语言执行代码script(字符串)
.setCookie(CName,Value,DateLen,Unit):设定Cookies
DateLen:有效期时间单位长度
Unit:有效期时间单位:"Y""M""D","h""m""s":表示年月日时分秒,取其一
.GetPage(url,timeout,isShowProgress,method,data):获取其他网站页面源代码
isShowProgress==true时带有进度条显示
timeout:超时设置,单位:毫秒
data:method为"POST"时的提交数据,格式为:a=1&b=2&c=3...
return:错误返回undefined,否则返回页面源
参考:参考:ServerXMLHTTP:http://msdn2.microsoft.com/en-us/library/ms765535.aspx
.bytes2BSTR(bytes):字节类型数据转换为字符串
注:参数为二进制字节类型数据,不是流对象
流对象需要将流读出:Stream.position=0;Stream.read(n);
流的操作可以参见函数:cUpload.GetStrInStream()
.OutClientScript():输出客户端函数库集合
.OutHTMLPageTitle(pagetitle):输出页面头信息,主要用来参考
6、客户端对象Fun,需要服务器端输出:Fun.OutClientScript()
.SetHomePage(obj,url):设置主页,obj参数为任一Div或其他页面存在的元素
.AddFavorite(url,name):加入到收藏夹
.setCookies(name,value,TimeLen,Unit):设定Cookies
TimeLen:时间长度数字
Unit:时间单位:"YMDhms":年月日时分秒,取其一
.getCookies(name):获取Cookies
.PlaySwf(fn,w,h,flag):显示flash动画
flag==true时,flash动画透明背景
flash客户端输出代码格式:详见《Flash代码》
.CreateXMLHttp=function(url,CallBackFun,method,formstr):异步执行XMLHttp
method为"POST"时,formstr格式为:name=value&name2=value2...
XML获取数据,即回调函数CallBackFun使用方法
function CallBackFun(s){
if((XML==undefined)||(XML.readyState!=4))return;
var rs=XML.responseText; 返回数据
或处理二进制数据:
var rs=bytes2BSTR(XML.responseBody);
};
.ShowUploadProgress():上传时显示进度条时调用
调用方法:在onsubmit()中调用:Fun.ShowUploadProgress();
7、客户端函数,需要服务器端输出:Fun.OutClientScript()
PreloadImage(Imgs,CallbackFun,ImgPath),缓存图片
参数:Imgs:数组,ImgPath:路径,图片位置为:ImgPath+Imgs[i]
参数:CallbackFun回调函数,调用方法为:CallbackFun(Count,idx);
其中:Count为总数,idx为当前序号,则此回调函数即为进度事件。
bytes2BSTR(bytes):将字节类型数据转换为字符串,此函数为VBScript编写
注:参数为二进制字节类型数据,不是流对象
流对象需要将流读出:Stream.position=0;Stream.read(n);
流的操作可以参见函数:cUpload.GetStrInStream()
8、<iframe id=dofrm...></iframe>:隐藏的iFrame,需要服务器端输出:Fun.OutClientScript()
此隐藏框架主要用来POST方式提交数据,这样当刷新主页面时,不会重复提交
9、遍历Request.ServerVariables,以用于测试用
调用方法:Fun.asp?$flag$=ServerVariables
注:其中代码可作为参考用JScript枚举ASP相关集合对象方法
10、邮件发送类:cMail,详见《邮件发送使用方法cMail》
11、IP地址位置查询类:cGetIPAddress(ip),详见《IP地址信息获取cGetIPAddress(ip)》
12、系统信息类:cSystem,详见《获取系统信息cSystem》
演示:
上传带进度条:[url=http://lawyer.hgfkj.com/u.asp]http://lawyer.hgfkj.com/u.asp[/url]
说明,因为服务器采用家用ADSL做带宽,因此上传速度为50至60K每秒,但这说明了此上传组件可以利用最大带宽上传文件,可以上传几十M,甚至上百M文件都没问题。
服务器端获取其他网站源带进度条:[url=http://lawyer.hgfkj.com/]http://lawyer.hgfkj.com/
[/url]
说明:注册后查看“审判参考查询”可看到远程获取进度
说明:因远程获取利用了缓存,因此如果有人看过的页面,将不会远程再获取,可以多点此栏目的其他页面,应该可以看到进度显示的。
****************************************************
注:利用此函数库编写网站需采用JScript做为ASP的脚本语言。
****************************************************
使用说明:
1、包含Fun.asp文件
2、Fun.OutClientScript();输出客户端函数库,可选
3、Fun.OutHTMLPageTitle(PageTitle);输出HTML头,参考修改源代码,可选
4、如果连接了数据库,在ASP文件最后必需释放对象:FreeObj(CON);
5、如果有上传动作,需要:Fun.Upload.Close();
****************************************************
功能说明:
1、无组件带进度显示Fun.Upload
说明:详见《无组件上传使用方法》
历史:2007-5-19由原JScript版本更新为VBScript版本
2、全局函数与变量
变量:Hid,Act:识别提交数据标志,自动识别GET或POST方式提交
变量:CON:Adodb.Connection连接对象
函数:OpenRS(sql,pagesize):Adodb.Recordset:打开数据库集
函数:ExecSQL(sql):执行无返回SQL命令
函数:FreeObj(obj):无返回,释放对象实例
历史:2007-5-19
3、数据库连接
在cWeb类中修改代码,设定是否连接数据库、连接类型及连接参数
4、基本对象功能扩展
说明:客户端的扩展需要先输出客户端函数:Fun.OutClientScript();
String
.trim(n):截取字符串n个字符,一个中文按2个字符计算,如果有截取则加后缀"..."
如果n为undefined,则去掉前后空格
.Length():获取字符串长度,一个中文按2个字符计算
.Substr(start,n):获取字符串从start开始的n个字符,一个中文按2个字符计算
.AscB(idx):获取字符串第idx个字符的ASCII码,一个中文按2个字符计算
.toUnicode():将字符串以{方式进行Unicode编码
.isMail():检测是否字符串为邮件地址格式
.Null(str):如果字符串为空或为"undefined"或为"null",则输出str
.toDate():将字符串转换为日期,需要try来防止错误
.Encode():加密字符串
.Decode():解密字符串
Array
.remove(idx):从数组中移除idx项
.indexOf(obj):查找与obj相匹配的数组项idx,查找失败返回-1
.insertAt(obj,idx):在数组idx项之前插入obj,返回obj所在数组的idx
.Add(obj):在数组尾加入obj,返回obj所在数组的idx
.Adds():参数为可变,可多可少,依次被加入到数组尾,无返回值
.AddFirst(obj):插入obj到数组第一项,返回obj所在数组的idx
Date
.getDateString(flag):返回日期的字符串格式显示
无参数时,返回如:2007年1月31
flag=="-"时,返回如:2007-1-31
.Add(num,flag):日期添加一定时间单位后返回
num:添加日期的数值,默认为1
flag:"Y","M","D","h","m","s",依次为年月日时分秒,取其一,默认为"D"
注:该函数将修改自身日期值,而不是仅仅通过返回输出新值
.Sub(num,flag):日期减去一定时间单位后返回
参数同.Add()
注:该函数将修改自身日期值,而不是仅仅通过返回输出新值
.Diff(enddate,flag):取两个日期差值:enddate-this
flag:"D","h","m","s",依次为日时分秒,默认为"D"
enddate:另一个日期,返回值为:enddate-this
.DaysInMonth():取日期当月中的天数共有多少天
Number
.trim(p):小数位数格式化,默认参数为0,例:50.234.trim(2)=50.23
.FormatSize(flag,p):将数字以Size格式显示
flag:"GB","MB","KB",取其一,为undefined时,自动根据数字取最佳值
p:小数点位数,默认为2,即保留2位小数
例:1024.FormatSize("KB",0)="1 KB"
5、服务端对象Fun
.Request(fieldname):自动识别GET或POST方法提交的数据,返回值
注:同时如果有上传,会自动显示上传进度,使用Fun.Upload返回
上传详见:《无组件上传使用方法Fun.Upload》
.alert(str):输出到客户端脚本,以响应模拟alert提示框
.GoUrl(url,who):输出到客户端脚本,使页面转向
who:转向窗口,默认为"self"
.Reload(who):输出到客户端脚本,重载页面
who:转向窗口,默认为"self"
.PlaySwf(fn,w,h,flag):输出到客户端脚本,显示flash动画
flag=="true"时,flash动画透明背景
flash客户端输出代码格式:详见《Flash代码》
.ExecScript(script,lan):输出到客户端脚本,以lan语言执行代码script(字符串)
.setCookie(CName,Value,DateLen,Unit):设定Cookies
DateLen:有效期时间单位长度
Unit:有效期时间单位:"Y""M""D","h""m""s":表示年月日时分秒,取其一
.GetPage(url,timeout,isShowProgress,method,data):获取其他网站页面源代码
isShowProgress==true时带有进度条显示
timeout:超时设置,单位:毫秒
data:method为"POST"时的提交数据,格式为:a=1&b=2&c=3...
return:错误返回undefined,否则返回页面源
参考:参考:ServerXMLHTTP:http://msdn2.microsoft.com/en-us/library/ms765535.aspx
.bytes2BSTR(bytes):字节类型数据转换为字符串
注:参数为二进制字节类型数据,不是流对象
流对象需要将流读出:Stream.position=0;Stream.read(n);
流的操作可以参见函数:cUpload.GetStrInStream()
.OutClientScript():输出客户端函数库集合
.OutHTMLPageTitle(pagetitle):输出页面头信息,主要用来参考
6、客户端对象Fun,需要服务器端输出:Fun.OutClientScript()
.SetHomePage(obj,url):设置主页,obj参数为任一Div或其他页面存在的元素
.AddFavorite(url,name):加入到收藏夹
.setCookies(name,value,TimeLen,Unit):设定Cookies
TimeLen:时间长度数字
Unit:时间单位:"YMDhms":年月日时分秒,取其一
.getCookies(name):获取Cookies
.PlaySwf(fn,w,h,flag):显示flash动画
flag==true时,flash动画透明背景
flash客户端输出代码格式:详见《Flash代码》
.CreateXMLHttp=function(url,CallBackFun,method,formstr):异步执行XMLHttp
method为"POST"时,formstr格式为:name=value&name2=value2...
XML获取数据,即回调函数CallBackFun使用方法
function CallBackFun(s){
if((XML==undefined)||(XML.readyState!=4))return;
var rs=XML.responseText; 返回数据
或处理二进制数据:
var rs=bytes2BSTR(XML.responseBody);
};
.ShowUploadProgress():上传时显示进度条时调用
调用方法:在onsubmit()中调用:Fun.ShowUploadProgress();
7、客户端函数,需要服务器端输出:Fun.OutClientScript()
PreloadImage(Imgs,CallbackFun,ImgPath),缓存图片
参数:Imgs:数组,ImgPath:路径,图片位置为:ImgPath+Imgs[i]
参数:CallbackFun回调函数,调用方法为:CallbackFun(Count,idx);
其中:Count为总数,idx为当前序号,则此回调函数即为进度事件。
bytes2BSTR(bytes):将字节类型数据转换为字符串,此函数为VBScript编写
注:参数为二进制字节类型数据,不是流对象
流对象需要将流读出:Stream.position=0;Stream.read(n);
流的操作可以参见函数:cUpload.GetStrInStream()
8、<iframe id=dofrm...></iframe>:隐藏的iFrame,需要服务器端输出:Fun.OutClientScript()
此隐藏框架主要用来POST方式提交数据,这样当刷新主页面时,不会重复提交
9、遍历Request.ServerVariables,以用于测试用
调用方法:Fun.asp?$flag$=ServerVariables
注:其中代码可作为参考用JScript枚举ASP相关集合对象方法
10、邮件发送类:cMail,详见《邮件发送使用方法cMail》
11、IP地址位置查询类:cGetIPAddress(ip),详见《IP地址信息获取cGetIPAddress(ip)》
12、系统信息类:cSystem,详见《获取系统信息cSystem》

您所在位置: