我有一个php(codeigniter)程序,显示所有已完成的项目和工程公司。我可以单击详细信息页面,然后我可以单击链接返回概述页面。为了避免再次从列表的顶部开始,我想跳转到我凸出的项目。 这似乎很容易,但它给我带来了麻烦。我发现这个解决方案在互联网上适用于Chrome,但不适用于Firefox和IE:
<script type="text/javascript" language="javascript">
function moveWindow (){window.location.hash="a13";}
</script>
<body onload="moveWindow()">
.
.
.
<a name="a13"></a>
锚的内容由PHP动态生成。正如我所说,它仅适用于Chrome。当我进入调试模式时,IE会说出未定义的函数moveWindow
。
答案 0 :(得分:4)
您可以将功能附加到详细信息单击,将URL更改为currentURL#yourID,然后将其更改为最终URL。这样,currentURL#yourID将存储在浏览器的历史记录中,返回将使您到达正确的锚点。
类似的东西(假设你使用jQuery而你的ID在<a>
上):
$(document).ready( function() {
$('#yourlist a').click( function(e) {
e.preventDefault();
window.location = '#'+$(this).attr('id');
window.location = this.href; // intentionally not using jQuery ;-)
});
});
HTML看起来像:
<ul id="yourlist">
<li><a href="details_page_for_item_1.html" id="a1">Item 1</a></li>
<li><a href="details_page_for_item_2.html" id="a2">Item 2</a></li>
<li><a href="details_page_for_item_3.html" id="a3">Item 3</a></li>
</ul>
未经测试......