用Cookie..记录所滚动的距离.demo.htm<script>
window.onbeforeunload=function()
{
    setCookie("baobao",document.body.scrollTop);
}
function setCookie(name,value)
{
    var Days = 30;
    var exp  = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
</script>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br>
<a href="demo2.htm">demo2</a>
demo2.htm<script>
window.onload=function()
{
window.scroll(0,getCookie("baobao"))
}
function getCookie(name)
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr != null) return unescape(arr[2]); return null;
}
</script>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br>
Hello

解决方案 »

  1.   

    谢谢! 我在应用的时候遇到了问题,demo2.htm 改成asp读取数据库数据的时候就不行了。
    因为onload在数据没有读取出来的时候就已经执行了,而当时页面上什么都没有,滚动条没有出来。等到数据显示出来的时候,滚动条出现了,并停留在0位置。
      

  2.   

    偶也读数据试了一下,没什么问题啊.
    因为,onload.是发生在整个页面加载完了后,才触发的啊.demo2.htm 数据也不少.<!--#include file="conn.asp"-->
    <%
    set rs = Server.CreateObject("ADODB.Recordset")
    sql = "select * from data"
    rs.open sql,conn,1,1
    do while not rs.eof
    Response.Write rs(0)&"<br>"
    Response.Write rs(1)&"<br>"
    Response.Write rs(2)&"<br>"
    rs.movenext
    loop
    rs.close
    set rs = nothing
    %>
    <script>
    window.onload=function()
    {
    window.scroll(0,getCookie("baobao"))
    }
    function getCookie(name)
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
        if(arr != null) return unescape(arr[2]); return null;
    }
    </script>