|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。asp中利用组件上传时,有点贫苦就是不晓得上传进度是几,固然有的供应了上传进度条,比方abcupload(下载地点:http://www.websupergoo.com)已供应了显现以后上传形态的办法,内里就有专门的实例(在安装目次的Examples上面的progressupload.htm),它是提交数据的同时弹出一个反应进度的页面(progressbar.asp)然后经由过程这个页面自革新来每隔一点工夫猎取事先的上传形态,然后把它们显现出来,可是用页面自革新的办法效力对照低,不欠好调治革新工夫距离(最小距离为1秒),并且服务器端前往数据量年夜,以是不克不及很好的及时反应上传情形。在客户端利用javascript挪用MSXMl工具和setTimout办法往准时load一个xml文件能够完成无革新准时猎取服务器端数据,在这里可让progressbar.asp输入xml格局的数据,然后供客户端load,仅前往需要的几个参数,如许:页面不革新;传输的数据少,不必要把一切数据全传到客户端,只传输反应形态的数据,假如准时器设置的工夫充足小,那末我们就能够"及时"看到上传的情况了。以下就以abcupload4为例来讲明怎样来制造及时的文件上传进度条。(注:我们在abcupload自带例子基本上改善。)
progressupload.htm
(上传文件的前台提交,我们让进度条在这个内里显现)
</P><P></P><P><html></P><P><body></P><P></P><P>
<scriptlanguage="javascript"></P><P><!--</P>
<P>theUniqueID=(newDate()).getTime()%1000000000;</P><P>functions()file://让数据提交的同时实行显现进度条的函数</P><P>{</P><P>
bar();file://入手下手实行反应上传情形的函数</P><P>
document.myform.action="progressupload.asp?ID="+theUniqueID;
file://处置上传数据的程序</P><P>
document.myform.target="up"file://将提交的数据放在一个名字是up埋没的iframe内里处置,如许提交的页面就不会跳转各处理数据的页
document.myform.submit();file://提交表单</P><P></P><P></P><P>}
</P><P>functionbar()</P><P>{</P><P>
bar1.style.display=;file://让显现上传进度显现的层的可见</P><P>
vartimeoutid=null;file://这个变量是作准时器的ID</P><P>
varoXMLDoc=newActiveXObject(MSXML);
file://创立MSXML工具</P><P>
sURL="progressbar.asp?ID="+theUniqueID+"&temp="+Math.random();
file://猎取上传形态数据的地点</P><P>
oXMLDoc.url=sURL;
file://load数据
varoRoot=oXMLDoc.root;
file://猎取前往xml数据的根节点
if(oRoot.children!=null){
if(oRoot.children.item(0).text-100==0)file://文件上传停止就作废准时器
clearTimeout(timeoutid)
PercentDone.style.width=oRoot.children.item(0).text+"%";file://设置进度条的百分比例
file://依据前往的数据在客户端显现
min.innerHTML=oRoot.children.item(1).text;file://显现残剩工夫(分钟)
secs.innerHTML=oRoot.children.item(2).text;file://显现残剩工夫(秒钟)
BytesDone.innerHTML=oRoot.children.item(3).text;file://已上传数据巨细
BytesTotal.innerHTML=oRoot.children.item(4).text;file://总巨细
BytesPerSecond.innerHTML=oRoot.children.item(5).text;file://传输速度
Information.innerHTML=oRoot.children.item(6).text;file://上传信息
}
if(oRoot.children.item(0).text-100<0)file://只需文件没有传完,就每隔几工夫猎取一次数据
timeoutid=setTimeout("bar()",50)
file://这里设准时间距离是0.05秒,你也能够依据你的情形修正猎取数据工夫距离
}</P><P>//--></P><P></script>nbsp;</tr></P><P>
</table></P><P></td></P><P></tr></P><P><tr></P><P><td></P><P>
<tableborder="0"width="100%"></P><P><tr></P><P><td><fontface="Verdana,Arial,Helvetica,sans-serif"size="1">
残剩工夫:</font></td></P><P>
<td><fontface="Verdana,Arial,Helvetica,sans-serif"size="1"></P><P>
<spanid=min></span>分</P><P><spanid=secs></span>秒</P><P>
(<spanid=BytesDone></span>KBof</P><P><spanid=BytesTotal></span>KB已上传)</font></td></P><P>
</tr></P><P><tr></P><P>
<td><fontface="Verdana,Arial,Helvetica,sans-serif"size="1"></P><P>
传送速率:</font></td></P><P>
<td><fontface="Verdana,Arial,Helvetica,sans-serif"size="1"></P><P>
<spanid=BytesPerSecond></span>KB/秒</font></td></P><P>
</tr></P><P><tr></P><P>
<td><fontface="Verdana,Arial,Helve
<p>想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 |
|