【发布时间】:2015-06-03 18:15:01
【问题描述】:
我有一个在不同系统(即电话系统)的框架内运行的脚本。每次用户单击 shift 并用鼠标滚动时,页面都会返回并导致电话系统出现问题。
我需要完全阻止用户向前或向后导航,因为此页面将由电话系统控制,并且只要电话系统处于打开状态就应该打开。
为了停止导航,我已经这样做了
<script type="text/javascript">
function stop()
{
return false;
}
document.onmousewheel = stop;
window.onbeforeunload = stop;
</script>
但这会显示一条消息“您确定要离开此页面吗?”用户必须点击“离开此页面”或“留在此页面”才能继续。
但是,如果用户单击“离开此页面”,我仍然会遇到原始问题。
有没有办法完全阻止用户返回? 以下是我想到但无法应用的潜在解决方案
- 使代码代表用户单击“留在此页面上”。如果我总是可以点击“留在此页面上”
- 禁用“离开此页面”按钮。因此,用户将没有其他按钮可以点击,只有“留在此页面”。
【问题讨论】:
-
浏览器不允许您执行 1 或 2。因此根本不可能。
-
将按键事件绑定到您的 HTML 文档并在按下这些特定键时使用 event.preventDefault() 应该适合您。你能测试一下吗?
-
@lucasnadalutti 我该怎么做?
-
即使我不确定这是否能解决您的问题,我也会将其作为答案发布。
标签: javascript jquery browser navigation