栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用JavaScript禁用F5和浏览器刷新

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用JavaScript禁用F5和浏览器刷新

更新
最近的评论声称这在新的Chrome中不起作用…如jsFiddle所示,并在我的个人网站上进行了测试,此方法从Chrome版本开始仍然有效

26.0.1410.64m

顺便说一下,这在jQuery中非常容易:

// slight update to account for browsers not supporting e.whichfunction disableF5(e) { if ((e.which || e.keyCode) == 116) e.preventDefault(); };// To disable f5    $(document).bind("keydown", disableF5);$(document).on("keydown", disableF5);// To re-enable f5    $(document).unbind("keydown", disableF5);$(document).off("keydown", disableF5);

附带说明:这只会禁用键盘上的f5按钮。要真正禁用刷新,您必须使用服务器端脚本来检查页面状态更改。不能说我真的不知道怎么做,因为我还没有做。

在我工作的软件站点上,我们将我的disableF5函数与Codeigniter的会话数据结合使用。例如,有一个锁定按钮将锁定屏幕并提示密码对话框。函数“disableF5”快速简便,可防止该按钮执行任何操作。但是,为防止鼠标单击刷新按钮,发生了一些事情。

  1. 单击锁定时,用户会话数据具有一个称为“ locked”的变量,该变量变为TRUE
  2. 单击刷新按钮时,在母版页加载方法中,将检查会话数据是否为“锁定”,如果为TRUE,则我们简单地不允许重定向,并且无论请求的目标是什么,页面都不会更改

提示:
尝试使用服务器设置的cookie(例如PHP

$_SESSION
或什至.Net的cookie)
Response.cookies
来维护客户端在站点中的“位置”。这是我使用CI的Session类所做的香草的方法。最大的不同是CI在您的数据库中使用了Table,而这些 常规
方法在客户端中存储了可编辑的cookie。缺点是,用户可以清除其cookie。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号