补分贴: 如何在js中获取当前网页的名称,得网页<a>的href 
http://community.csdn.net/Expert/topic/5193/5193484.xml?temp=.7035334现在问题:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<TITLE>WebForm2</TITLE>
<META name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<META name="CODE_LANGUAGE" Content="C#">
<META name="vs_defaultClientScript" content="JavaScript">
<META name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<BODY>
<FORM id="Form1" method="post" runat="server">
<ASP:BUTTON id="Button2" style="Z-INDEX: 101; LEFT: 164px; POSITION: absolute; TOP: 1099px"
runat="server" Text="Button"></ASP:BUTTON>
<br/> <!--...这里有N多个BR,大家自己补上-->
ddddddddddd
<INPUT type="hidden" id="hidPos" runat="server">
</FORM>
<SCRIPT language="javascript">
<!--
  function Form1.onsubmit()
  {
 Form1.hidPos.value = document.body.scrollTop;
  }
  
  function window.onload()
  {

document.body.scrollTop = parseInt(Form1.hidPos.value);
 
  }
//-->
</SCRIPT>
</FONT>
</BODY>
</HTML>这是幕白兄给的:上面可以实现我的要功能,现在就问:有没有办法让他符合:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">因为加上这一句就不行了,但我想保留着这一句

解决方案 »

  1.   

    document.body.scrollTop 换成 document.documentElement.scrollTop
    document.body.scrollTop 比较老了。
      

  2.   

    但有:
    :<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    这一句的话document.body.scrollTop 换成 document.documentElement.scrollTop也就没有效果
    谢谢
      

  3.   

    还有这贴会等到leohuang(LEO)来时再结,不过一星期没来也就结了
      

  4.   

    xhtml1与其它的区别
    http://blog.csdn.net/net_lover/archive/2006/12/29/1467390.aspx
    http://blog.csdn.net/net_lover/archive/2006/08/25/1116488.aspx
      

  5.   

    好了刚才大意没有把
     Form1.hidPos.value = document.documentElement.scrollTop; 改过来
    也就是刷新没有定位等人结贴
      

  6.   

    可以的!
    用window.scrollTo!
    例子:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ScrollTest.aspx.cs" Inherits="ScrollTest" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body onload="onDocLoad()">    <script type="text/javascript">
    for(var i=1; i<1000; i++)
        document.write("<li>"+ i.toString() + "</li>");
        </script>    <form id="Form1" runat="server" onsubmit="onForm1Submit()">
            <div>
                <asp:Button ID="Button1" runat="server" Text="Button" Style="z-index: 101; left: 300px;
                    position: absolute; top: 800px" />
            </div>
            <input type="hidden" id="hidPos" runat="server" value="" />
        </form>    <script type="text/javascript">
    function onDocLoad(){
        alert(document.getElementById('hidPos').value);
        if(document.getElementById('hidPos').value != ""){
            window.scrollTo(0, parseInt(document.getElementById('hidPos').value));
        }  
    }function onForm1Submit(){  
        alert(document.documentElement.scrollTop);
        document.getElementById('hidPos').value = document.documentElement.scrollTop;
        document.getElementById('Form1').submit();  
    }
        </script></body>
    </html>
    IE6、FireFox2.0下测试通过
      

  7.   

    leohuang(LEO)
    人不来我就结了
      

  8.   

    document.documentElement.scrollTop确实可以用,如果一定要解释,我也可以尝试解释给你听。
      

  9.   

    在standards mode里面<body />是一个display:inline的元素,我已经在你的帖子里说过了,inline元素是没有height属性的,height是自然根据内容所改变的,但你不能设置或改变它的值。这时候,当内容超过窗口大小的话,body也就跟着内容变大,然后外部的容器因为body大了二出现滚动。在MSDN里仔细看一下scrollTop的解释,它是作为滚动容器的参数,设置滚动到哪里了。现在既然body已经不是滚动容器,而是被被滚动的内容,自然它的scrollTop永远都是0。至于document.documentElement,这就是指<html />这个元素了,它在这里才是真正的滚动容器。其实这是没有写进任何标准里面的,因为scrollTop本身就不是一个标准参数,既然IE如此做了,FF也就模仿着兼容。至于<html />是否就应该作为窗口大小的容器,并且作为滚动容器,这在有标准出来之前,都不会有定论。