使用流路由器检测是否通过浏览器后退按钮输入了路由

时间:2016-07-18 16:34:17

标签: javascript meteor web-applications routing flow-router

我使用带有FlowRouter作为路由器的meteorjs创建了一个应用程序。

我有一个针脚保护屏幕,用户在尝试进入“受保护路线”时会被重定向到该屏幕。然后,这会要求一个引脚并将用户转发到受保护的路由'模板。

这一切都很好地向前移动然而当用户点击后退按钮时,当然会显示针保护屏幕,并且需要再次点击后退按钮以返回到先前的状态。我需要在按下时跳过或忽略引脚保护屏幕。

我已经想到了几个解决方案,但在尝试实施时却没有达到目的。

可能的解决方案

  1. 理想情况下,我希望'引脚保护'重定向加载而不推送历史状态。这意味着用户启动的屏幕会在点击后加载。

  2. 如果这不起作用或不可行,我需要找到一种方法来判断用户在离开当前路线时是否点击了。

  3. 如果有其他人遇到过类似的东西并且有解决方案,我会非常感谢一些帮助。感谢

1 个答案:

答案 0 :(得分:1)

我遇到过类似的事情。

选项1:您可以创建一个pinEntered布尔变量,当用户成功输入引脚时,该变量将切换为true。然后在路由逻辑中检查此真实性。如果var的计算结果为true,则可以添加一个条件,当按下后退按钮时,它会完全跳过该页面。

  • 在受保护页面的路由中有条件地设置此var
  • 检查后退按钮事件的值