防止用户按下,重新加载或关闭按钮

时间:2012-08-14 11:17:24

标签: php javascript html

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

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

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

9 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:4)

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

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

编辑:你无法对关闭做任何事情 - 但是如果你使用它来重定向到不处理任何形式信息之类的页面,那么用户点击刷新将无关紧要。无论如何,它们都在静态页面上。

编辑2:我认为当我们使用PHP header()将用户重定向而不是偶然处理两次付款交易时,这是有趣的,这被认为是件好事 - 但是当这样的问题出现时起来,每个人都假设有人用一些可怕的广告劫持一个网页,或者用一些笨蛋或其他人(也就是其他人)发送垃圾邮件。

答案 2 :(得分:1)

使用javascript无法实现。然而,有些浏览器支持一种“kiosk模式”,它正是这样做的。

答案 3 :(得分:1)

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

答案 4 :(得分: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;

答案 5 :(得分:0)

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

您最接近的是使用onbeforeunload事件,该事件会提示用户是否要离开。

答案 6 :(得分:0)

简单的答案是你不能。

在一天之内,有各种方法可以“制动”后退按钮(例如,通过清除历史记录,但我不确定它们是否会再起作用。

然而,你不能直接搞乱重装和/或关闭按钮,这是肯定的。

答案 7 :(得分:0)

您无法执行此操作,因为浏览器的设置由客户端的每个浏览器管理。我们可以使用我们的Web脚本更改浏览器设置。

答案 8 :(得分:0)

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

请注意,这样做会让我们感到烦恼,我们为烦恼的网站做了什么=&gt;我们永远不会再去看他们了。