-4

如何实现阻止用户使用浏览器的返回、重新加载和关闭按钮的功能?我的意思是即使用户按下重新加载、返回或关闭按钮,这些按钮也不起作用。

我在 stackoverflow 上看到了类似的问题,但没有找到任何相关的答案。

我想实现这一点,因为我的笔记本电脑有一些问题,这些按钮有时会自动工作,这会打断我的工作。

4

9 回答 9

10

您不能,您无权在客户端计算机上这样做。

于 2012-08-14T11:18:11.087 回答
4

使用 javascript 重定向页面 - 尽管这些对用户来说很烦人。

假设您有一个表单,使用 PHPheader()重定向到一个页面,该页面包含一个meta-refresh类似于 ( <meta http-equiv="refresh" content="0;URL='http://example.com/'">) 的 javascript,它强制用户进入一个新页面。当他们回击时,他们将点击该页面并再次被迫前进。

编辑:您无法对关闭做任何事情 - 但如果您使用它重定向到不处理表单信息等任何内容的页面,那么用户点击刷新将无关紧要。无论如何,它们都在静态页面上。

编辑 2:我认为有趣的是,当我们使用 PHPheader()将用户重定向到意外两次处理支付交易时,这被认为是一件好事 - 但是当出现这样的问题时,每个人都认为某人最糟糕正在劫持一个带有可怕广告的网页,或者发送一些废话或其他垃圾邮件(因此是反对票)。

于 2012-08-14T11:19:20.433 回答
1

这不能用 javascript 实现。然而,有些浏览器支持一种“信息亭模式”,正是这样做的。

于 2012-08-14T11:19:05.083 回答
1

您可以使用jquery-hashchange插件来检测后退按钮单击并向用户显示警报。但是,您无法按照您的建议完全控制浏览器操作。毕竟是他的电脑诶!

于 2012-08-14T11:34:50.923 回答
1

这是你做的最大可能的事情..

function PreventClosing() {
    if ( /Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
        alert("Warning - may lost data.");
    }
    return "Warning - may lost data.";
}
window.onbeforeunload = PreventClosing;
于 2012-08-14T11:49:03.017 回答
0

没有办法做到这一点,这是一件好事,因为否则网站可能会做一些非常不道德的事情。

最接近这一点的是使用 onbeforeunload 事件,它会提示用户是否想离开。

于 2012-08-14T11:19:31.673 回答
0

简单的答案是你不能。

过去有多种方法可以“制动”后退按钮(例如,通过清除历史记录,但我不确定这些方法是否有效。

但是,您不能直接弄乱重新加载和/或关闭按钮,这是肯定的。

于 2012-08-14T11:19:37.623 回答
0

you can not do this because browser's setting is manged by each browser at client side.and we can change browser settings with our web script.

于 2012-08-14T11:30:49.390 回答
0

您可以将值保存在会话中,并在他每次重新访问同一页面时重新加载它们。您可以创建某种重定向以重定向到同一页面。

请注意,这样做会很烦人,我们对烦人的网站做了什么=>我们再也不会访问它们了。

于 2012-08-14T12:03:27.333 回答