2010-03-17 152 views
0

当我跳转到第1部分& 2一切工作正常,我测试的浏览器(IE8,FF3.6,Chrome 5.0.342.3)向下滚动到div中的相应锚点。但是当我按下浏览器历史记录按钮时,div不会回滚。浏览器历史回滚滚动div

有没有什么方法可以使这个工作不使用JavaScript?

<div id="scrolldiv" style="overflow:auto; width:500px; height:500px; border:2px solid #e1e1e1; "> 
<a href="#link1">Jump to section 1</a> <br /> 
<a href="#link2">Jump to section 2</a> <br /> 

<h1 id="link1" name="link1">Section 1</h1> 
<p>lots of text<br />lots of text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p> 

<h1 id="link2" name="link2">Section 2</h1> 
<p>lots of text<br />lots of text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p> 

回答

1

你可以尝试链接到/pagename.htm#topofpage那里是在页面顶部的锚。任何人在没有点击您提供给该页面的链接的情况下访问了您的信息页的人都无法获得该效果,但任何去/pagename.htm#topofpage的人都应该,我认为(未经过测试)对他们的浏览器历史记录中的位置敏感附加信息。

而且,与很少的JavaScript,你应该能够使页转到散列它第一次加载时,那么这将使任何人访问/pagename.htm/pagename.htm#topofpage。只需插入:

​​

的理论是第一次有人访问脚本运行时,将其置身于#topofpage页面,并且后来也不会运行,除非它们刷新。