【发布时间】: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