当前位置: 首页 > 面试题库 >

如何检测用户是否单击了Angularjs中的浏览器后退按钮

蔡默
2023-03-14
问题内容

我有一个带有一些数据的类似表单的页面。并希望在用户单击浏览器后退按钮时显示弹出窗口/警告,询问“他们是否要返回或停留在同一页面上”。我正在使用angular-
ui-router,$stateProvider并且只想将此绑定到一个状态/视图。


问题答案:

这是我之前对其他问题的回答,但对您有所帮助

您可以通过使用角度来做到这一点 $routeChangeStart

$ routeChangeStart

在更改路线之前广播。此时,路由服务开始解决发生路由更改所需的所有依赖关系。通常,这涉及获取视图模板以及在resolve
route属性中定义的所有依赖项。解决所有依赖关系后,将触发$ routeChangeSuccess。

$location可以通过调用preventDefault事件的方法来防止路由更改(及其触发更改)。$rootScope.Scope有关事件对象的更多详细信息,请参见。

因此,请尝试以下代码。

  $scope.$on('$routeChangeStart', function (scope, next, current) {
        if (next.$$route.controller != "Your Controller Name") {
            // Show here for your model, and do what you need**
            $("#yourModel").show();
        }
    });

更新:

您需要在模型弹出窗口中编写功能性工作。喜欢

放置一些链接按钮

  • 您确定要转到上一页吗?
  • 您要停留在当前页面吗?
  • 您要登出吗?等等

然后为进入上一页添加ng-click事件,使用return false等等保持当前页面。

有感觉的家伙吗?



 类似资料:
  • 问题内容: 是否可以使用浏览器中的“历史记录后退”按钮检测到用户进入了页面?最好是我想使用angular.js检测到此动作。 我不想使用角度布线。如果用户提交表单,并且在成功提交到服务器并进行重定向之后,它也应该起作用,如果用户使用浏览器的“后退”按钮返回到表单,则也应该是可行的。 问题答案: 这是Angular的解决方案。 我正在使用运行块来启动它。首先,我将实际位置存储在$ rootScope

  • 我想我问错了问题,也就是说,它的措辞是错误的,因为我找不到这个问题的答案,而且我不可能是第一个问这个问题的人.... 目的:当用户将鼠标移动到后退按钮(history.back)上时,做一些事情。 为什么:当用户将鼠标移到后退按钮上或移向后退按钮时,会弹出一个带有站点提供的模型。 问题: 后退按钮是否有一个选择器,这样我就可以执行以下操作: > 取回按钮X和Y线 获取鼠标按钮X和Y线 比较,如果相

  • 问题内容: 您如何确定用户是否按下浏览器中的“后退”按钮? 您如何使用系统在单页Web应用程序内强制使用页内后退按钮? 到底为什么浏览器后退按钮不触发自己的事件!? 问题答案: (注意:根据Sharky的反馈,我提供了用于检测退格的代码) 因此,我经常在SO上看到这些问题,并且最近遇到了我自己控制后退按钮功能的问题。在为我的应用程序寻找最佳解决方案(带哈希导航的单页)几天后,我提出了一个简单的,跨

  • 问题内容: 是否可以检测用户何时单击浏览器的后退按钮? 我有一个Ajax应用程序,如果我可以检测到用户何时单击“后退”按钮,则可以向后显示适当的数据。 任何使用PHP,JavaScript的解决方案都是可取的。最好用任何一种语言解决方案,只需要我可以翻译成PHP / JavaScript的东西即可 编辑:从下面剪切并粘贴: 哇,所有出色的答案。我想使用Yahoo,但我已经使用了Prototype和

  • 问题内容: 对于所有主流浏览器(IE浏览器除外),由于后退按钮操作导致页面加载时JavaScript 事件不会触发-仅在页面首次加载时触发。 有人可以指出一些解决该问题的示例跨浏览器代码(Firefox,Opera,Safari,IE等)吗?我对Firefox的事件很熟悉,但不幸的是Opera和Safari都没有实现这一功能。 问题答案: 伙计们,我发现JQuery仅具有一种作用:当按下后退按钮时

  • 问题内容: 我是angularjs的新手。如何在angularjs中检测到userAgent。可以在控制器中使用它吗?尝试了以下类似的方法,但是没有运气! 我需要专门检测IE9! 问题答案: 就像Eliran Malka询问的那样,为什么需要检查IE 9? 检测浏览器的品牌和版本通常是一种难闻的气味。通常,这意味着如果您需要JavaScript来检测特定版本的浏览器,则代码会有更大的问题。 在某些