使用AngularJS / Javascript

时间:2015-09-24 09:21:35

标签: javascript jquery angularjs browser back-button

我正在使用AngularJS开发SPA。我想使用应用程序中的链接浏览应用程序状态,我想在单击后退按钮时阻止相同的导航。

当我点击我的应用中的链接时,我在angularJs中找到的所有解决方案(包括$ locationChangeStart)都会阻止导航。

请提供一个解决方案,该解决方案仅阻止浏览器后退按钮导航,并允许通过点击应用程序中的链接进行导航。

1 个答案:

答案 0 :(得分:1)

执行此操作的最简单方法是将当前应用程序状态(url)的转换映射到有效的下一个应用程序状态(url),并且只有当前状态从{{1}转换为当前状态时才会阻止默认无效。

如果您这样做,您不仅会阻止用户使用后退按钮,还会阻止在浏览器中放置不需要的网址以创建无效的应用程序状态,并可能损害您的应用程序。

我建议你不要使用一些“on history change history.forward”方法,比如在另一个答案中链接,这是最糟糕的用户体验,让用户透明。