图片压缩的JAVAScript

<script language="javascript">
var oXMLDoc = new ActiveXObject("Microsoft.XMLDOM");            //创建'MSXML'对象
oXMLDoc.async = true;  
var theUniqueID= 0;
var iTimerID=null;        //这个变量是作定时器的ID
//让数据提交的同时执行显示进度条的函数
function UploadData()    
{
theUniqueID = (new Date()).getTime() % 1000000000;
// 清除原始数据
PercentDone.style.width = "0%";
ElapsedTime.innerHTML = "";
TimeLeft.innerHTML = "";
SizeCompleted.innerHTML = "";
TotalSize.innerHTML = "";
TransferRate.innerHTML = "";
document.myform.action = "demo.asp?ProgressID=" + theUniqueID;  //处理上传数据的程序
//将提交的数据放在一个名字是upload隐藏的iframe里面处理,这样提交的页面就不会跳转到处理数据的页
document.myform.target="upload"  
document.myform.submit();     //提交表单
ProgressBar();      //开始执行反映上传情况的函数
}
function ProgressBar()
{

sURL = "Progress_Xml.asp?ProgressID=" + theUniqueID + "&temp="+Math.random();      //获取上传状态数据的地址
    oXMLDoc.onreadystatechange = Function( "fnLoadComplete();" );    
    oXMLDoc.load( sURL );

}
function fnLoadComplete()
{
var iReadyState;
    try
    {
        iReadyState = oXMLDoc.readyState;
    }
    catch(e)
    {
        return;
    }
    if(  iReadyState != 4 ) return;
    
    if( oXMLDoc == null || oXMLDoc.xml == "" )
{
  window.status = 'Xml load fault';
  return;
}
var oRoot = oXMLDoc.documentElement;     //获取返回xml数据的根节点
if(oRoot != null)  
{
  if (oRoot.selectSingleNode("ErrorMessage") == null)
  {
   var readyState = oRoot.selectSingleNode("ReadyState").text;
   // 如果还没初始化完成,继续
   if ( readyState == "uninitialized" )
   {
    iTimerID = setTimeout("ProgressBar()", 1000);
   }
   // 上传进行中
   else if ( readyState == "loading" )              //文件上传结束就取消定时器
   {
    bar1.style.display = 'block';  //让显示上传进度显示的层的可见
    PercentDone.style.width = oRoot.selectSingleNode("Percentage").text;        //设置进度条的百分比例
    //根据返回的数据在客户端显示
    ElapsedTime.innerHTML = oRoot.selectSingleNode("ElapsedTime").text;       //显示剩余时间
    TimeLeft.innerHTML = oRoot.selectSingleNode("TimeLeft").text;       //显示剩余时间
    SizeCompleted.innerHTML = oRoot.selectSingleNode("SizeCompleted").text;    //已上传数据大小
    TotalSize.innerHTML = oRoot.selectSingleNode("TotalSize").text;    //总大小
    TransferRate.innerHTML=oRoot.selectSingleNode("TransferRate").text; //传输速率
    //这里设定时间间隔是0.5秒,你也可以根据你的情况修改获取数据时间间隔
    iTimerID = setTimeout("ProgressBar()", 100);
   }
   // 上传结束
   else if ( readyState == "loaded" )
   {
    PercentDone.style.width = "100%";        //设置进度条的百分比例
    if (iTimerID != null)
     clearTimeout(iTimerID)
    iTimerID = null;
    alert("压缩成功,服务器处理中...");
   }
   // 上传结束
   else
   {
    PercentDone.style.width = "100%";        //设置进度条的百分比例
    if (iTimerID != null)
     clearTimeout(iTimerID)
    iTimerID = null;
    alert("压缩成功");
   }
  }
  else
  {
   alert(oRoot.selectSingleNode("ErrorMessage").text);
   upload.location.href = "about:blank";
  }
}
}
function CacelUpload()
{
upload.location.href = "about:blank";
if (iTimerID != null)
  clearTimeout(iTimerID)
iTimerID = null;
bar1.style.display = '';
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值