Javascript - 后退按钮历史记录

时间:2015-03-24 04:00:46

标签: javascript jquery html

我在PhoneGap中运行单页应用程序,并使用Sammy.js

驱动内容

考虑一下:

主页是domain.com/#/panel enter image description here

然后我点击Reglas(规则) location.hash更新为#/ regulations

enter image description here

在此之后,我可以看到当前的规定,当我点击其中任何一个时,我再次更新location.hash到#/ regulation / 1(或规则的任何数字):

enter image description here

这是合约:

我的应用程序在屏幕标题旁边的导航栏中有一个后退按钮,它有一个点击监听器:

$('back').click(function(e) {
    e.preventDefault;
    // window.history.back();
    history.back();
});

当我在第二个屏幕(#/规则)时,它运行良好,它将我带回#/ panel。但是当我在第3个屏幕(#/ regulation / 1)时,它再次带到#/ panel而不是#/ regulations部分。

当我点击浏览器的后退按钮时效果非常好但是当我点击“我的后退”按钮时,它无法正常工作。

我已经阅读了一些关于此的主题,比如Mozilla的一个: enter image description here

就像Mozilla说的那样,它应该像我点击浏览器的后退按钮一样工作,但事实并非如此。

我尝试过:

window.history.back();
    window.history.go(-1);
    history.back();
    history.go(-1);

似乎无法解决任何问题。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

对不起,任何人都会犯错:

e.preventDefault(); (括号) #back (尖锐)就是问题所在。

然而,如果有人遇到这个问题,Mozilla就有这个理由,任何这些行就像用户点击浏览器的后退按钮一样

$('#back').click(function(e) {
    e.preventDefault();
    window.history.back();
    // window.history.go(-1);
    // history.back();
    // history.go(-1);
});