我有一个带有一些数据的类似表单的页面。并希望在用户单击浏览器后退按钮时显示弹出窗口/警告,询问“他们是否要返回或停留在同一页面上”。我正在使用angular-
ui-router,$stateProvider
并且只想将此绑定到一个状态/视图。
这是我之前对其他问题的回答,但对您有所帮助
您可以通过使用角度来做到这一点 $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来检测特定版本的浏览器,则代码会有更大的问题。 在某些