setTimeout("window.location.reload()",1000)

解决方案 »

  1.   

    这个不行的,reload之后不是又重载页面了,岂不是又要reload了?要加判断,最简单的用window.name
      

  2.   

    setTimeout("window.location.reload()",1000)就是一秒钟以后页面刷新
    刷新以后又会执行setTimeout("window.location.reload()",1000),
    不就是一个定时刷新的循环吗
    setTimeout()是先延时后执行并不是先执行后延时的吧?
      

  3.   

    <iFrame id="test"></iFrame>
    <script language="javascript">
    function refreshURL(){
      var url = yourURL;
      var xmlhttp = new ActiveObject("Microsoft.XMLHTTP"); 
      xmlhttp.Open("POST", url, false);
      xmlhttp.Send();
      document.all[test].innerHTML = xmlhttp.responseBody;//这里要注意字符问题,如果有中文,需要转换,在csdn里有这个函数,自己找找。
      setTimeout("refreshURL()",1000)//这里表示1秒钟后自动刷新iFrame的内容
       
    }
    </script>
      

  4.   

    IE说activeobject没有定义!
    怎么回事?
    麻烦大哥指点!
      

  5.   

    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
    Sorry
    我落掉了一个字符X。嘿嘿,对不起了,你再试试看
      

  6.   

    还是不行呀!
    说document.all[]是为空或者不是对象!谢谢大哥!麻烦再看看!我的url
    url = "http://www.163.com"
    这样写对吧?
      

  7.   

    ie shows:对象不支持此属性和方法!
    Still can't work!
    Thanx,help me!
      

  8.   

    url对了,
    ie5才支持document.all[test].src
    也可以是document.all.test.innerHTML,
    这是我所知道的javascript+xmlhttp静态刷新网页的方法,你改用IE5.0吧,
    可能有中文字符,产生了乱码,给你一个函数
    <SCRIPT language="VBScript">
    Function bytes2BSTR(vIn)
        strReturn = ""
        For i = 1 To LenB(vIn)
            ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn = strReturn & Chr(ThisCharCode)
            Else
                NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = strReturn
    End Function
    </script>
    你试着将document.all["test"].src=....改写为:
    alert(bytes2BSTR(xmlhttp.responsebody));
    如果弹出的对话框显示正常,你再改回去,一定可以,
    对不起了,我测试了,是我的疏忽,iFrame没有innerHTML属性,只有src属性,你改来看看。
    我测试成功了,
      

  9.   

    你可以改iFrame为
    <table>
    <tr>
      <td id="test"></td>
    </tr>
    </table>
    这时你就可以使用innerHTML属性了,效果一样的
      

  10.   

    有两点比较重要:
    1、不乱是post还是get,如果含有中文,需要用函数转换,要不在提交页面里用
    request.form("key")/request.querystring("key")得到的是乱码,转换函数为:
    <SCRIPT language="VBScript">
    Function URLEncoding(vstrIn)
        strReturn = ""
        For i = 1 To Len(vstrIn)
            ThisChr = Mid(vStrIn,i,1)
            If Abs(Asc(ThisChr)) < &HFF Then
                strReturn = strReturn & ThisChr
            Else
                innerCode = Asc(ThisChr)
                If innerCode < 0 Then
                    innerCode = innerCode + &H10000
                End If
                Hight8 = (innerCode  And &HFF00)\ &HFF
                Low8 = innerCode And &HFF
                strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)
            End If
        Next
        URLEncoding = strReturn
    End Function
    </script>
    这时候你的url就可以写成:
    url=URLEncoding("http://www.test.com/test.asp?test1=中文&test2=hahaha");
    然后再Send嘿嘿,你在test.asp里就可以得到你post或get的数据,要不也是乱码,
    要得到test.asp处理后的数据,由中文你也要使用上面的函数bytes2BSTR否则就是乱码
      

  11.   

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <SCRIPT language="VBScript">
    Function URLEncoding(vstrIn)
        strReturn = ""
        For i = 1 To Len(vstrIn)
            ThisChr = Mid(vStrIn,i,1)
            If Abs(Asc(ThisChr)) < &HFF Then
                strReturn = strReturn & ThisChr
            Else
                innerCode = Asc(ThisChr)
                If innerCode < 0 Then
                    innerCode = innerCode + &H10000
                End If
                Hight8 = (innerCode  And &HFF00)\ &HFF
                Low8 = innerCode And &HFF
                strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)
            End If
        Next
        URLEncoding = strReturn
    End FunctionFunction bytes2BSTR(vIn)
        strReturn = ""
        For i = 1 To LenB(vIn)
            ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn = strReturn & Chr(ThisCharCode)
            Else
                NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = strReturn
    End Function
    </script>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title>
    </head><body>
    <table>
    <tr><td id="test"></td></tr>
    </table>
    <script language="javascript">
    function refreshURL(){
      var url = URLEncoding('http://127.0.0.1/test1.asp?test1=你好&test2=hahahaha');
      var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      xmlhttp.Open("POST", url, false);
      xmlhttp.Send();
      alert(bytes2BSTR(xmlhttp.responsebody));
      document.all.test.innerHTML = bytes2BSTR(xmlhttp.responsebody);   
    }
    refreshURL();
    </script></body>
    </html>
      

  12.   

    上面的是test.asp文件
    这里是test1.asp文件<%response.write(request.querystring("test1"))%>
    <%response.write(request.querystring("test2"))%>
      

  13.   

    将post改成get,嘿嘿,我处错了