【发布时间】:2013-06-03 11:45:08
【问题描述】:
index.php
<html>
<head>
<title>My Title</title>
<script type="text/javascript">
function getLink(data) {
document.getElementById("box").innerHTML="This is "+data;
}
</script>
</head>
<body>
<a href="#home" onClick="getLink('Home')">Home</a><br />
<a href="#profile" onClick="getLink('Profile')">Profile</a><br />
<a href="#message" onClick="getLink('Message')">Message</a><br />
<a href="#setting" onClick="getLink('Setting')">Setting</a><br />
<hr />
<div id="box"></div>
</body>
</html>
输出
HomeProfileMessageSetting
这是家
正如代码所说,当我单击任何link 时,我的Div 内容会更新,但问题是当用户goes back 通过单击Back Button of Browser 时,我的Div 的内容不会改变。
我希望用户Goes Back、Goes Forward 或者他直接将路径放入address bar www.*****/index.php#profile 我的Div 的内容应该更改。
注意
我使用document.location.hash 来获取hash 的值,如下所示:
<head>
<script>
var hashValue=document.location.hash;
alert(hashValue);
</script>
</head>
但它仅在用户 goes back 然后 refresh the page 时有效
请帮助我如何实现这一点:(
【问题讨论】:
-
您可以做的一件事是在 DOM 就绪时添加对 getLink() 函数的调用。在 DOM 准备就绪时,检查您的 URL 并检查最后一个 '#' 字符之后的字符串。如果此字符串不为空,请调用
getLink(theString)
标签: javascript html ajax hashchange