Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 防止用户按下后退、重新加载或关闭按钮_Php_Javascript_Html - Fatal编程技术网

Php 防止用户按下后退、重新加载或关闭按钮

Php 防止用户按下后退、重新加载或关闭按钮,php,javascript,html,Php,Javascript,Html,如何实现防止用户使用浏览器的“后退”、“重新加载”和“关闭”按钮的功能?我的意思是,即使用户按下“重新加载”、“返回”或“关闭”按钮,这些按钮也不起作用 我在stackoverflow上看到了类似的问题,但没有找到任何相关的答案 我想实现这一点,因为我的笔记本电脑出现了一些问题,这些按钮有时会自动工作,从而中断我的工作。您不能,您没有在客户端计算机上执行此操作的权限。这是无法用javascript实现的。然而,有些浏览器支持一种信息亭模式,正是这种模式。使用javascript重定向页面——尽管

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

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


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

您不能,您没有在客户端计算机上执行此操作的权限。

这是无法用javascript实现的。然而,有些浏览器支持一种信息亭模式,正是这种模式。

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

假设您有一个表单,使用PHP头重定向到一个包含javascript元刷新的页面,该刷新看起来像是强制用户进入一个新页面。当他们回击时,他们会击中那一页,并再次被迫前进

编辑:你不能做任何关于关闭的事情,但是如果你用它重定向到一个不处理表单信息的页面,那么用户点击刷新就无关紧要了。无论如何,它们都在一个静态页面上


编辑2:我认为有趣的是,当我们使用一个PHP头来引导用户两次不处理支付交易时,这被认为是一件好事——但是当出现这样的问题时,每个人都认为最坏的情况是,有人用可怕的广告劫持网页,或者滥发一些胡说八道的东西,从而导致了反对票。

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


最接近这一点的方法是使用onbeforeunload事件,该事件将提示用户是否要离开。

简单的答案是你不能

在过去的一天里,有各种各样的方法可以通过清除历史记录来阻止返回按钮,但我不确定这些方法是否有效


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

您不能这样做,因为浏览器的设置由客户端的每个浏览器管理。我们可以使用web脚本更改浏览器设置

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

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

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;

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


请注意,这样做会让你感到烦人,我们对烦人网站所做的=>我们再也不会访问他们。

这对用户来说是非常烦人的。我当然不会再访问这样的网站了!您试图实现这一目标的原因是什么?它对在线交易非常有用。然而,我想实现这一点是因为我的简单;我的笔记本电脑有一些问题,这些按钮有时会自动工作。为什么所有的人都投反对票?一旦有人想在web应用程序中添加此类约束或可能性,就会有越来越多的类似反应。但你似乎忘记了,浏览器不仅适用于常规网站,也适用于各种应用程序,例如可能需要此类设置的全屏触摸屏应用程序或专业/内部应用程序。另一个例子是自动打印文档,还有很多类似的例子。为什么不考虑一下满足这家伙需求的解决方案呢?@Fluffeh-正如我所说的,不仅仅是网站在浏览器上运行,我认为这是一个狭隘的观点,因为越来越多的应用程序出现在浏览器中。1。很烦人。2.用户只需两次单击“上一步”对不起,由于您的解决方案的烦扰因素,我不得不对此进行否决。@Petra如果内容设置为0(即即时),他们必须进入历史记录中跳过它,而不是按“上一步”,双击“上一步”按钮仍将强制用户进入下一页。@vascowhite是,这很烦人,因此我把它放在最初的答案中——但这是实现海报要求的一种方式。你不应该因为不喜欢答案就否决它。你应该投票支持创造性地使用函数,并添加一条评论,说它很烦人——这是我在原始答案中马上说的。@Fluffeh+1是有趣的解决方案。顺便说一句,这会让应用程序变得糟糕,但这当然不是你的错你没有权力去做所有的事情,但是有一些方法可以解决。这对用户来说可能很烦人,但有些是可以做到的。注意:这只适用于chrome、ie和firefox。谢谢。至少有比没有更好的东西: