繁体   English   中英

耗尽$ window.history.back()后,离子后退按钮不会隐藏

Ionic Back Button Doesn't Hide after exhausting $window.history.back()

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个离子应用程序,该应用程序的搜索模板具有可在其中按关键字查询帖子的形式。 我也有一项服务,可以将帖子作为列表返回到另一个视图。 一切运行良好。

我的搜索控制器在提交搜索表单后使用:

$state.go('app.search.results', {'searchId': hash});

这样我就可以为该搜索使用唯一的网址。 我需要这个唯一的url来实现“后退”功能,这样,如果用户单击列表中的一个帖子,则在查看帖子后决定是否单击“后退”后,仍然可以看到搜索结果(通过默认情况下,它们将返回搜索表单,不再显示任何结果)。

为了允许返回搜索结果,我实现了自定义的后退按钮功能,并将其放在离子后退按钮元素上,如下所示:

<ion-nav-back-button ng-click="goBack()">

然后设置一个自定义函数:

$scope.goBack = function() {

    $window.history.back();

}

所有这些都很好,我可以返回搜索结果并查看它们,基本上就像正常的浏览器后退功能一样。

对我来说,问题是,当我通过“后退”按钮一路“返回”时,我的初始状态包含“后退”按钮,单击它不会出现任何位置,并且仍然显示“后退”按钮。 Ionic在不应该隐藏后退按钮的情况下做得很好,但是在这种情况下不是这样。 任何有关如何检查历史记录何时耗尽以及有条件地隐藏“后退”按钮的想法都将受到赞赏。

编辑:

这是一个jsFiddle ; 注意:在新的单独标签中打开小提琴以查看后退按钮问题。 FYI搜索在菜单中。

2 个回复

我对Ionic拥有的一些疑虑之一是其“智能”导航。 我自己遇到了很多问题。 我的解决方案是创建自己的后退按钮,此后退按钮存储以前的状态及其参数,因此您可以返回而不会丢失搜索结果,例如您的方案。

此组件为您提供了后退按钮和面包屑(或您可以只使用后退按钮)

它是开源的,随时使用!

jscBreadcrumbs

奇怪的牛奶-面包屑岗位

这是您的jsFiddle,已实现并正在运行jscBreadcrumbs:

的jsfiddle

jscbreadcrumbs

您使用$window.history.back() ,我认为您应该使用$ionicHistory.goBack(); 代替。 它可以以离子方式控制历史,视图和状态。

2 Firefox和window.history.back

我有一个页面,用户可以更改数据并提交。 应用程序返回错误消息。 用户然后按返回按钮。 Chrome,IE,Edge均显示原始数据。 Firefox显示更改的数据。 如何使FireFox真正返回到原始页面? ...

2018-11-12 22:42:15 0 33   firefox
3 为什么window.history.back(); 这么慢?

我在onclick的一个函数中使用它,它似乎工作正常,但真的很慢! 它向我显示上一页大约需要10秒钟! 这是我的完整代码 function goBack() { window.history.back(); } button { display: inline-b ...

5 使用window.history.back()后如何获取上一个URL?

某些情况:用户使用某些过滤器在页面A中进行搜索,然后从结果中选择一些要编辑的项目,从而将用户带到页面B进行编辑。 B页中有一个“后退”按钮,单击时应转到上一页(A)。 事实是, 如果用户来自页面B(项目编辑),而不是来自菜单或其他重定向到A的页面,则回退时必须显示在A中进行搜索的先前结果 ...

6 Ratchet.js和window.history.back();

我有一个init函数和我所有的jQuery人员,我在文档就绪并使用push事件监听器执行: 在通过推送加载的页面上,我在标题上有一个反向链接。 注意后面的课程。 要回去我用 而且效果很好。 但是, 回去后,我的其他jquery工作人员都没有工作。 我试过onpo ...

7 在window.history.back();上运行脚本

我正在运行一个小脚本来克隆缩略图并放大显示。 该网站是在Persona.co上完成的,Persona.co是一个内容管理系统,存在一些限制。 因此,我需要先加载页面,以便我的函数为此添加一个事件监听器。 然后,我要挖掘DOM并将两个事件侦听器(mouseover和mouseout)添加到缩 ...

8 window.history.back()无法正常工作

我有一个&lt;asp:LinkButton&gt;标记,其属性为OnClientClick="javascript:window.history.back(); return false;" 作为孩子的一部分。 单击后,它应该用作父级的后退按钮。 相反,单击时,它将带我回到父页面,但立即 ...

9 保留window.history.back()以便以后使用

我正在进行结帐,并且有一个后退按钮,单击后会触发window.history.back() 。 在用户对购物车进行一些更改之前,它可以正常工作,然后页面重新加载和window.history.back()与window.reload()相同,因为它获取了最后一页。 我知道最好的解决方 ...

10 window.history.back非法调用

为什么我能做到这一点: 但是,当我尝试; 我明白了: 未捕获的TypeError:非法调用 在HTMLAnchorElement.dispatch(jquery-1.12.4.js:5226) 在HTMLAnchorElement.elemData.handle ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM