Esto es algo que venía yo pensando desde algún tiempo, pero que no me decidía a plantarle cara. Pero ya que, al parecer, se le están dando soluciones, voy a aportar la que acabo de crear sin haberme aventurado todavía por el enlace de RootK.
Es un ejemplo de una página completa que creo no será muy difícil de entender. A ver qué os parece y si encontráis algun posible error para el futuro:
Página a.aspx
Código:
<%@ Page Language="VB" Debug="true" %>
<script language="VB" runat="server">
Public Sub Page_Load()
Dim pos as String
If Not Request.Form("pos") = "" Then
pos = Request.Form("pos")
Else
pos = "0"
End If
Response.Write("<html>" & vbcrlf)
Response.Write("<head>" & vbcrlf)
Response.Write("<script>" & vbcrlf)
Response.Write("function irA(){" & vbcrlf)
Response.Write("window.scrollTo(0," & pos & ");" & vbcrlf)
Response.Write("}" & vbcrlf)
Response.Write("<" & Chr(47) & "script>" & vbcrlf)
End Sub
</script>
<script language="Javascript">
function modificaPos(){
pos = document.body.scrollTop;
document.getElementById("pos").value = pos;
}
</script>
</head>
<body onLoad="irA()" onScroll="modificaPos()">
<form method="post" name="form1" action="a.aspx" runat="server">
<input type="hidden" value="0" id="pos" runat="server">
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<p> </p><p> </p><p> </p>
<input type="submit" runat="server">
</form>
</body>
</html>
Os preguntaréis porqué he puesto Chr(47) en lugar del símbolo /, pues la verdad es que no sé porqué me daba error directamente con la barra.
Un saludo.