2

我实际上是在尝试使用户能够为页面添加书签,为此,我正在使用 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 ,则 url 单独更改为http://www.example.com/abc.php但页面不会加载。

但是下次按它时,它就来了。我希望他们只按一次。提前谢谢。

4

1 回答 1

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>
于 2011-10-10T21:43:57.743 回答