我实际上是在尝试让用户为页面添加书签,为此,我正在使用javascript的哈希更改事件。这是我的代码:
<script type="text/javascript">
function hashchk()
{
hashvalue=window.location.hash;
newhash="";
for(var i=1;i<hashvalue.length;i++)
{
newhash=newhash+hashvalue[i];
}
if(hashvalue!="")
{
window.location.replace("viewme.php?ppid="+newhash);
}
}
hashchk();
</script>
除此之外,当用户想要返回上一页时,他必须按下浏览器的后退按钮2次,而不是一次。
如果他在http://www.example.com/abc.php#hello 在第一次按下后退按钮时,仅限网址更改为http://www.example.com/abc.php,但页面未加载。
但是下次按下它时,它会正确显示。 我希望他们只按一次。提前完成。
答案 0 :(得分:1)
我对你的问题并不完全清楚。如果用户第一次使用散列(例如#html3)来到页面,您似乎正试图解雇此问题,因此您可以使用服务器中的相应数据刷新其屏幕。问题本身似乎与hashchange事件没有直接关系。
在测试此HTML之后,我相信它可以按预期工作。每当页面加载并且在其上有#hash时,它将在查询字符串上将其重定向。这也适用于页面刷新。
<script>
function hashchk()
{
hashvalue=window.location.hash;
if(hashvalue!="")
{
window.location.replace("viewme.php?ppid="+hashvalue.substring(1));
}
}
hashchk();
</script>