代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

浏览器后退按钮的痛苦[重复]

  •  8
  • Anil Namde  · 技术社区  · 15 年前

    是否有任何方法可以使用javascript(或其他东西)来检测/阻止用户单击浏览器后退/前进按钮?

    我想知道处理这个问题的一般做法。这真的很痛苦,尤其是在像排序这样的工作流程中。

    5 回复  |  直到 15 年前
        1
  •  13
  •   Gavin Miller    15 年前

    实际上,阻止用户使用后退或前进按钮是不好的可用性,会让用户非常沮丧——直截了当地说,这是将开发人员的问题传递给用户。

    我认为 Post/Redirect/Get pattern ,再加上 window.onbeforeunload 在javascript中(像这样使用)对您的环境非常有用。

        2
  •  3
  •   mkoryak    15 年前

    看看历史经理。像这样:

    http://code.google.com/p/reallysimplehistory/

    如果可能的话,您可以让后退按钮实际执行一些有用的操作,比如返回到以前的(有效)状态。

        3
  •  1
  •   Community CDub    8 年前

    如果您构建一个单页Web应用程序(意味着加载了一个单页,那么所有的更改都是使用javascript在该页中动态完成的),那么您可以选择:

    当用户单击后退按钮时,您离开页面,因为它是唯一的一个,您可以通过事件警告用户 window.onbeforeunload

    然后,如果您需要/想要更多控制后退/下一步按钮行为,您可以添加一个哈希()键来处理这个问题。
    请看我对那个问题的回答: Change the get parameters in the address bar in jquery

        4
  •  0
  •   Sarfraz    15 年前

    不,这是不可能的,你不能篡夺 浏览体验 来自用户,但希望有一个解决方法……

        5
  •  0
  •   Marcel Korpel    15 年前

    据我所知,不是,但你可以使用 window.onbeforeunload 当存在数据丢失风险时,警告用户不要离开的事件。请记住这不适合歌剧。