【问题标题】:Preventing Mouse Back/Forward Buttons [duplicate]防止鼠标后退/前进按钮[重复]
【发布时间】:2019-01-29 22:41:18
【问题描述】:

上下文:感谢 GWT,我们在 JS/HTML 中部署了沉浸式游戏。用户抱怨在玩游戏时不小心按下了后退/前进鼠标按钮,导致他们在操作过程中无意离开页面。我们希望阻止这些鼠标按钮的默认操作,或者想出一些解决方案(通常会令人讨厌和侵入),通过弹出窗口提醒/警告用户,如果他们点击 OK,他们将要离开游戏.

问题:如何防止Mouse Button 3 (typically Browser Back button) and Mouse Button 4 (typically Browser Froward Button)在整个网页中的默认操作?

潜在的解决方案:我看到了一个类似的解决方案,其中涉及 'mousedown'(ref) 和 'mouseup'('mouseup'(ref) 的 addEventListener 以及随后调用触发 event.preventDefault 的函数() 和 event.stopPropagation() 也许,但我没有看到类似的鼠标后退和前进功能。还尝试了this 之类的方法,但无济于事(我是 JS 菜鸟)。

【问题讨论】:

  • 你不应该开始玩弄特定的输入设备行为。使用onbeforeunload 离开网站时的一般警告应该足以涵盖所有可能的离开网站的方式。
  • This 已经回答了您的问题。 TLDR:出于安全原因,客户端脚本没有足够的权限来执行此操作。禁用后退按钮不起作用的原因有很多。

标签: javascript


【解决方案1】:

你可以考虑处理Beforeunload事件。

这是为了离开页面而触发的(例如,当单击返回按钮时 - 但它也会处理刷新等)

【讨论】:

    猜你喜欢
    • 2013-06-17
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    相关资源
    最近更新 更多