我想在我的网站上停用刷新功能。有没有办法禁用 F5 , Ctrl - R ,还是在网页上重新加载?
答案 0 :(得分:14)
window.onbeforeunload = function () {return false;}
这将禁止离开页面,除非用户确认,而不是仅刷新,因此您必须自己编写代码才能使其正常工作。
你从来没有说过你在做什么,所以我把它留在了那里。
答案 1 :(得分:7)
不,没有办法禁用它。
如果您要避免“是否要再次提交此操作?”对话框,请使用Post/Redirect/Get。
答案 2 :(得分:3)
每次进入页面时都要检查cookie。 如果cookie在那里,那么你知道刷新了。
如果没有cookie,则创建一个持续时间为零的cookie(仅在浏览器仍然打开时存在)
答案 3 :(得分:2)
我有个建议。这个页面有一个答案框。
(以下是您的答案标签)
当你刷新时会显示一些警告信息,我建议你显示类似的警告信息,而不是禁用刷新功能。
答案 4 :(得分:2)
我不知道如何禁用刷新点击(我自己还需要那个) 除了使用服务器端脚本来停止“重定向” 但是,我知道非常简单的jQuery来禁用 F5 :
function disableF5(e) { if (e.which == 116) e.preventDefault(); };
// To disable f5
$(document).bind("keydown", disableF5);
// To re-enable f5
$(document).unbind("keydown", disableF5);
答案 5 :(得分:1)
不,没有这样的方法。您可以警告用户不要刷新
答案 6 :(得分:0)
可能会有一些技巧可以在某些浏览器上运行,但没有什么可以保证它们无法刷新页面。浏览器和Web标准是开放的,因此用户可以轻松地浏览浏览器以解决您实施的任何问题。
如果刷新会对用户体验产生负面影响,最好给他们一个文字警告。
如果这是为了修复错误(例如缺乏幂等性),你应该考虑修复bug。
答案 7 :(得分:0)
有一种方法可以阻止用户按F5刷新页面。在你的身体标签里试试这个代码:
<body onkeydown="return (event.keyCode != 116)">
答案 8 :(得分:0)
如果要禁用ctrl + f5,ctrl + R,f5,退格,则可以使用此简单代码。此代码适用于Mozila和Chrome。在您的body标签中添加此代码:
<body onkeydown="return (event.keyCode == 154)">