这里有人知道如何通过 JavaScript 或 jQuery 阻止用户在页面上使用 Shift+F5 或 F5(刷新页面)吗?
原因只是在用户单击“提交”按钮然后再次按 F5 后停止页面以将相同的变量重新提交到服务器端。
这里有人知道如何通过 JavaScript 或 jQuery 阻止用户在页面上使用 Shift+F5 或 F5(刷新页面)吗?
原因只是在用户单击“提交”按钮然后再次按 F5 后停止页面以将相同的变量重新提交到服务器端。
答案不是停止页面刷新,而是让它刷新不会再次发布数据:通过让您的服务器脚本在处理表单后发出重定向来做到这一点。然后浏览器将获取指定的 url(它甚至可能是相同的 URL),因此刷新不再发出 POST,而是发出 GET。
已编辑.. 很遗憾地说,但没有比这更好的解决方案了。
<script type="text/javascript">
window.onbeforeunload = function(event)
{
event = event || window.event;
// For IE and Firefox (older versions)
if (event) {
event.returnValue = 'Are you sure you want to do this?';
}
// For Safari
return 'Are you sure you want to do this?';
}
</script>
--- 只想添加以下内容:
嘿,我一直在玩我上面发布的代码.. 我没注意到它实际上仍在刷新.. 唯一可能的解决方案是提高弹出对话框,如果他们真的从用户那里确认想要离开/刷新页面。
我正在更新我的代码以反映我刚才所说的内容。