【问题标题】:Javascript redirect when clicked on back button单击后退按钮时的Javascript重定向
【发布时间】:2011-11-09 22:13:51
【问题描述】:

我是 javascript 编程的新手。我有一个页面,如果单击后退按钮,我想重定向到一个新位置。

这可能吗?我已经搜索过这个&我猜 onbeforeunload() 可以做到这一点,但我没有得到它。

问候。

【问题讨论】:

  • 你打算做什么?您想通过单击后退按钮来阻止用户吗?或者您希望您的应用程序没有单击后退按钮的副作用?
  • 你不想这样做......你只会惹恼你的用户。最好编写代码,这样它就可以处理后退按钮的标准使用而不会中断。

标签: javascript redirect


【解决方案1】:

可以连接到浏览器导航按钮,尽管可靠地跨浏览器执行此操作很棘手。您最好的选择是使用已经为您完成了艰苦工作的库。例如,Really Simple History 不依赖于任何特定的 JavaScript 库或框架。大多数主要的 JavaScript 库(jQueryClosureYUI 等)都内置了历史支持或插件。这些库有助于改善您在使用页内导航时提供的用户体验。

只是为了它的价值,也许有点离题:如果你帮助确保它符合用户的期望,你只想挂上“后退”按钮。例如,当他们单击“后退”按钮时,您不希望将他们带到他们以前从未去过的地方,那就是……我会选择“不合适的”。 :-) 如果用户刚刚从其他地方来到页面,您当然不想干扰离开页面的后退按钮。但是在某些完全有效的情况下,您可能需要参与该过程。例如,如果您在通过更改 div 的可见性来处理的页面中提供选项卡式界面,则可以合理地确保如果用户在选项卡 1 上并单击选项卡 2,然后单击返回,他们最终会在选项卡上再 1 次。

【讨论】:

    【解决方案2】:

    如果您的用户看到后退按钮不会将他们发送到前一页而是转到新页面,这将是一个真正的惊喜。

    您能否解释一下为什么需要这样做,它们可能是改变后退按钮行为的其他解决方案。

    【讨论】:

    • 这更像是一个评论而不是一个答案,不是吗?
    • 是的,如果我被允许发表评论,我会这样做......但在我回答时,没有人问他这样做的目的是什么。
    • ïc:啊,是的,你需要至少 50 个代表才能对别人的问题或答案发表评论的限制。我刚刚搜索了你的答案,很快就找到了一个可以投票的,所以你以后可以发表评论。
    【解决方案3】:

    请不要执行此操作。这遇到了,不,这用户体验的噩梦。

    浏览器的后退按钮旨在将用户带回上一页。这是它的唯一目的。我想不出你为什么要摆脱这个方便的功能的原因。

    好的,现在我已经把它从我的系统中取出了。你可以看看 T.J.克劳德的解决方案。或者你可以实现类似下面的东西:

    可以通过window.open() 使用您所在的位置打开一个新窗口,然后关闭当前窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      相关资源
      最近更新 更多