Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cordova从导航历史记录中删除页面_Javascript_Android_Cordova_Navigation - Fatal编程技术网

Javascript Cordova从导航历史记录中删除页面

Javascript Cordova从导航历史记录中删除页面,javascript,android,cordova,navigation,Javascript,Android,Cordova,Navigation,我这里有点问题。 我正在制作一个cordova应用程序,它有一个导航菜单。 如果用户像这样导航: ->第一页->第二页->第一页 历史记录中将有2个页面,包括第1页的一个实例(与用户现在看到的相同)。如果用户返回,它将像 |第一页|->第二页->第一页 因此,如果用户在第一页上按下,他肯定不想在退出应用程序时再次看到它,因此我想将其从堆栈中删除 请注意,我并不是要从历史记录中删除上一页,而是要从导航堆栈中删除我正在访问的页面的所有实例 我希望我解释得足够好。 如何实现这一点?您可以做的是覆盖an

我这里有点问题。 我正在制作一个cordova应用程序,它有一个导航菜单。 如果用户像这样导航:

->第一页->第二页->第一页

历史记录中将有2个页面,包括第1页的一个实例(与用户现在看到的相同)。如果用户返回,它将像

|第一页|->第二页->第一页

因此,如果用户在第一页上按下,他肯定不想在退出应用程序时再次看到它,因此我想将其从堆栈中删除

请注意,我并不是要从历史记录中删除上一页,而是要从导航堆栈中删除我正在访问的页面的所有实例

我希望我解释得足够好。
如何实现这一点?

您可以做的是覆盖android后退按钮。当他按下时,你可以检查url,如果用户在第1页,你可以强制关闭应用程序。看看这里:是的,我本来打算这么做的,谢谢你提醒我,但也许我解释得不对。如果我第二次进入第二页时有类似->第一页->第二页->第三页->第二页这样的历史记录,我想从历史记录中删除第一个实例,这样用户就不会再看到它。你是否使用angularJS这样的框架来构建你的应用程序?另外,您可能还想看看推送和替换状态:我使用的是cordova AKA phonegap,但不是angularJS。我已经查看了该链接,但得出的结论是,使用window.history.go(-3)(例如),将需要大量的工作,因为每次导航到新页面时,我都必须增加一些值,因此我将能够转到上一个实例,而不是打开一个新实例。也许我错过了什么。。。非常感谢;)